scouten
Hi, I had the idea a few months ago that an all-Elixir implementation of git could be an interesting foundation for some future projects I’d like to build and also an interesting way to deeply learn the internals of git.
I’ve started this project as a port from jgit and have a fair amount of the core infrastructure ported. It’s far from ready for prime time, but I’m sharing this now in hopes of finding co-conspirators for this project.
If you are interested in contributing, the project – such as it is at the moment – is available as xgit on GitHub. Please reach out to me here or on GitHub.
Thanks!
-Eric
Trending in Discussions
As the title says, please share what you’ve been up to with Elixir. Whether that’s been learning it, looking into it, making stuff with i...
New
Hey there,
It’s been more than a year since we started using LiveView as our main UI library and building a whole library of UI componen...
New
I am happy to introduce the very α version of the new programming language compiled to BEAM.
Welcome Cure.
It has literally three kille...
New
Quite interesting article Google brought me. Didn’t find any mentions about it here.
What do you think in general? Would you use togethe...
New
Hi everyone!
The first release candidate for the Expert language server project is now available!
We’ve published a press release detai...
New
Hi there! :wave:
@frigidcode and I (but mostly him) have been running an Elixir Book club, we’re almost done with Designing Elixir Syste...
New
Since we have deprecated our Erlang sections (as we have dedicated Erlang Forums now) let’s add this thread for those who’d like to post ...
New
Other Trending Topics
Edit: 2026 May 15 - This post is archived.
Mob is alive!!
Main docs: mob v0.7.11 — Documentation
A bit of explanation for the slightly c...
New
Hey, I’m Jesse and I’m the main contributor behind Dexter, a full-featured, lightning-fast Elixir LSP optimized for large codebases. It s...
New
Hi there! We created Gust: A task orchestrator inspired by Airflow.
For those who have never heard about Aiflow, it’s a Python-based wor...
New
Beam Bots (or just BB for short) is a framework for building fault-tolerant robotics applications in Elixir using familiar OTP patterns. ...
New
Xamal is a deployment tool for Elixir apps that deploys native releases to bare metal servers over SSH. It’s a port of GitHub - basecamp/...
New
With AI doing more of the implementation work, I’ve been wondering how much coding I should deliberately keep doing myself.
My main conc...
New
Categories:
Sub Categories:
Forums
Popular Tags
- #ecto
- #liveview
- #troubleshooting
- #learning-elixir
- #library
- #deployment
- #erlang
- #testing
- #genserver
- #mix
- #absinthe
- #remote-other
- #otp
- #plug
- #how-to-question
- #macros
- #postgres
- #elixirconf
- #channels
- #exunit
- #discussion
- #code-sync
- #podcasts
- #javascript
- #onsite
- #dialyzer
- #docker
- #authentication
- #umbrella
- #full-time-contract
- #podcasts-by-brainlid
- #ecto-query
- #ai
- #elixirconf-us
- #blog-post
- #elixir-ls
- #phoenix_html
- #iex
- #graphql
- #genstage
- #websockets
- #supervisor
- #advent-of-code
- #distillery
- #processes
- #api
- #forms
- #elixirconf-eu
- #metaprogramming
- #hex










Showing Posts 1 to 10- Show Best Posts
- Show All (oldest first)
- Show All (newest first)
ShalokShalom
Thanks a lot
This is according to the quote in the readme a pretty important implementation.
Do you know ocaml-git? Since I assume it is closer to your implementation as jgit is, so it could help you as an example.
scouten
No, I was not familiar with ocaml-git. Good to know, though I’m far enough into it that it would be hard to switch gears now.
Ankhers
There is also erlangit. Though, this has not been touched in almost ten years. You may already be further along than it was.
scouten
From the erlangit README:
hauleth
Nice, but one suggestion:
Split that library and at first implement only
libgit2functionalities instead of whole CLI UI. It is more important to be able to work with the repo itself programmatically rather than using particular CLI commands (and that will be much easier to work that way).OvermindDL1
Yes, definitely this!
scouten
This was essentially my goal, but apparently not stated clearly enough.
FWIW I’ve spoken privately with one of the lead authors of jgit and had a similar response: Given my stated goal of creating something that can be used for a git server and not a local workstation git client, time spent working on working tree operations (and likewise, any concurrent interop on disk with command-line git or jgit) is essentially wasted.
As I have time, I’ll be redirecting the project in that direction.
Thank you all for your feedback.
edwildgoose
Totally not what you asked for, but can I see if you are aware (or might like to work with):
GitHub - redrabbit/git.limo: A Git source code management tool powered by Elixir with easy installation & high extensibility. · GitHub
scouten
I posted a couple months ago about my effort to build an all-Elixir implementation of git. Based on some feedback and some further experiences in the porting effort, I’ve shifted gears to fully focus on building a server-native, Elixir-native git implementation.
More on the new effort and how I got to that point: https://xgit.io/burning-down-the-house/
scouten
More on Xgit’s progress: Xgit Reflog: All the World’s a (git) Stage.
Looking for advice on a couple of Erlang/OTP design issues: One is Xgit specific (how to manage a potentially large volume of data across process boundaries). Another is more tied to zlib, so I’ll post that in a separate thread.
Also: If you’ve followed this project on GitHub, your watches and follows appear to have followed the archiving of the previous jgit-based project. If you are still interested, please re-follow the current Xgit project.