Open kloenk opened 2 years ago
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
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.