gitoxide icon indicating copy to clipboard operation
gitoxide copied to clipboard

A presentation of the project

Open Byron opened this issue 2 years ago • 3 comments

  • Its inception
  • its path so far
  • a cool piece of code that makes it shine
  • a look into the future

Byron avatar Oct 28 '21 00:10 Byron

Hello, I tried to understand the Readme.md but didn't quite get it, is this project already in a place one can replace git-rs with it?

(I'm asking since I writing an in-house git driver to checkout a lot of repositories and I now hit a wall with git-rs since I don't see a way to make it keep ssh connections alive between request (a.k.a. ssh ControlMaster). Speed is a concern (since it takes a long while)).

axkibe avatar Jan 12 '22 05:01 axkibe

[..] is this project already in a place one can replace git-rs with it?

Not entirely, but in parts.

Even though it can fetch packs, also over SSH, it will only be able to create bare repositories from them, which are lacking a working tree. The caller certainly can take full control over how SSH is called, which may or may not be enough to handle the intricacies of ControlMaster.

If bare clones are acceptable, here is code that can serve as example. I could imagine creating the initial bare clone with gitoxide and then finish the worktree checkout with git itself if desired.

Byron avatar Jan 12 '22 06:01 Byron

Thank you very much for your response. To be honest sounds a little too scary for me in the moment and for now I'll try to get this functionality into libgit2 instead. Makes me wonder why nobody else seems to be bothered about not reusing ssh connections for multiple connections especially if speed is a concern since from my experience this dwarves all other possible gains. Will recheck your project later ;)

axkibe avatar Jan 12 '22 07:01 axkibe