git.limo
git.limo copied to clipboard
Move Gitrekt into own repo
We are currently also looking at writing an git forge with elixir. We favor some different designs, like not using the erlang ssh module, indieweb integration and a plain json api.
If you could move gitrekt into its own repo, we could work on that part together.
Hi @Kloenk, the :gitrekt app is currently part of an umbrella application and could definitely be moved to it's own repository and Hex package. The interface is clean and can be used a a basic building block for Git related projects.
Note that you will have to implement your own SSH, HTTP(S), etc. transport protocols around GitRekt.WireProtocol. Also have a look at the GitRekt.GitRepo protocol and the GitGud.Repo and GitGud.RepoPool implementation. See #38 for more details.
I don't have much time left currently to work on this right now (christmas coming and professional projects to finish). But I will come back to this issue later on and try to get things moving.
Also, note that the :gitrekt app has currently no unit-tests at all. I'd like to implement a test helper module built-around System.cmd/3 to run git command and add unit and integration tests for GitRekt.Git, GitRekt.GitAgent, etc.
Yep already created a test repo to play with it. But I think I will use gitaly, as ist rpc calls and has many helpful features. Just have to teach it that I'm not a gitlab server :)
I would love to be able to use Gitrekt independently from GitLimo. That'd be a great contribution to the Elixir community as there no other good binding to Git for Elixir so far, AFAIK.
@mekeor You can easily use Gitrekt independently already. Drop
{:gitrekt, git: "https://github.com/almightycouch/gitgud", branch: "master", sparse: "apps/gitrekt"}
in your mix deps :)
Yep already created a test repo to play with it. But I think I will use gitaly, as ist rpc calls and has many helpful features. Just have to teach it that I'm not a gitlab server :)
@kloenk, what has been your experience with Gitaly? I'm building a localization platform with Git in its core, and I was debating between using Gitaly or building something on Elixir/Erlang.
I sadly hat not much more time, working on it, so not sure of the current state. It looked usable, but some quirks to work around