scouten

scouten

Working on an all-Elixir implementation of git -- looking for co-contributors

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

Most Liked

hauleth

hauleth

Nice, but one suggestion:

Split that library and at first implement only libgit2 functionalities 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).

12
Post #6
scouten

scouten

From the erlangit README:

It is currently slower than a slow-motion replay of a cold-weather molasses drip-race judged by sloths who just took Nyquil. Slowly.

:rofl:

11
Post #5
scouten

scouten

Split that library and at first implement only libgit2 functionalities instead of whole CLI UI.

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.

Last Post!

D4no0

D4no0

Implementing everything from scratch seems to be a huge time and effort investment, instead you could implement the bindings between elixir and something like libgit2, much easier and better performance(if done right).

Where Next?

Popular in Discussions Top

New
dogweather
I wrote this comment on r/haskell, and it’s not popular there. :wink: But I think I’m on to something… Haskell reminds me of Java, and e...
New
PragTob
Hello everyone, I know we had quite some threads (read through lots of them) about background job processing but it remains a hotly deba...
New
RudManusachi
What configs will make sense to put to runtime.exs? – A bit of how I configure apps: I have generic configs in config/config.exs, dev...
New
AngeloChecked
What learn first? Rust or Elixir Hi Elixir community! I’m here because i want learn a new language. I’m a junior developer and mainly i ...
New
paulanthonywilson
I like Umbrella projects and pretty much always use them for personal Elixir stuff, especially Nerves things. But I don’t think this is ...
New
matthias_toepp
I’d love to hear what people think about Wisp, the new Gleam web framework started by Gleam’s primary creator Louis Pilfold. Gleam, alon...
New

Other popular topics Top

nobody
Hi! In PHP: $_SERVER[‘SERVER_ADDR’] - in Elixir? Searched the docs for ip address and the web, no good results. Thanks!
New
openscript
Hello! Sorry for this astonishing simple question, but I’m really stuck. I try to set up the intellij-elixir plugin, but I don’t know ho...
New
nsuchy
Hi. I’ve noticed that Windows Powershell has it’s own IEX command and you cannot access Elixir’s IEX due to the conflict. This isn’t a cr...
New
greenz1
I have a phoenix application from which a user can download multiple(5-6) files of size 1MB. I couldn’t find anything related to sending ...
New
bsollish-terakeet
Credo is smart enough to check for (something like) this: assert length(the_list) == 0 with this response: Checking if an enum is empt...
New
saif
Hello everyone, Long time lurker first time poster here. I’ve recently begun working on Elixir full-time again! :raised_hands: It’s been...
New

We're in Beta

About us Mission Statement