-
-
Notifications
You must be signed in to change notification settings - Fork 42
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Native implementation for Git server-side commands. #1
Comments
Closing this as we now have basic See #8 for support of various server capabilities. |
redrabbit
added a commit
that referenced
this issue
Sep 13, 2021
When calling GitRekt.GitAgent from other nodes, NIF resources might be garbage collected between two calls: {:ok, head} = GitRekt.GitAgent.head(agent) {:ok, commit} = GitRekt.GitAgent.peel(agent, head) #1 {:ok, message} = GitRekt.GitAgent.commit_message(agent, message) #2 In the above example, between #1 and #2 the agent process might garbage collect the commit. This could lead lead to a bad argument error in #2. In order to counter this, GitRekt.GiAgent stores a set of borrowed NIF resources. This way the resources are reference counted and available between consecutive calls. Note that the references are dropped once a :DOWN message is received from a given client process.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
We want to drop the dependencies to the Git tools. Bindings for libgit2 should be the only thing we need.
For this to happen, we must implement:
upload-pack
server side command.receive-pack
server side command.Checkout the Packfile transfer protocols documentation.
The text was updated successfully, but these errors were encountered: