modulesync
modulesync copied to clipboard
consider using libgit2 to avoid issues with wonky clients or configurations
https://github.com/schacon/ruby-git/issues/231 <- 2 hours of debugging with 2 two engineers.
Does this still need to be done? If yes, will it be done with rugged? I could look into producing a prototype over the next few weeks.
it's on the roadmap and any work on it would be very welcome
Turns out there is one very important thing that ruby-git provides: Authentication with the git client.
libgit2
does authentication programmatically, so a user interface (file? command line input?) would need to be implemented to get authentication*.
The problem is that implementing anything for this would just be redoing work that already exists in the actual git client, which is why ruby-git
just wraps git
.
I think trying to purge ruby-git's options
hash before running any git commands might solve the second part of this issue, i.e. wonky configurations. I'm not sure how sane and doable that would be though.
Idk for now, I'll have to play with this a bit more and see how it goes.
*Unless there is a way to get this done in libgit2/rugged that I didn't see in the docs
@rski thank you very much for the research!