-
Notifications
You must be signed in to change notification settings - Fork 72
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
Switch to pygit2 #122
Switch to pygit2 #122
Conversation
Remotes (ssh, https, and local+fetch) are working, but the ssh credentials logic needs to allow for an option to specify the location of the files. Unit tests haven't been fixed up for pygit2 |
14e2765
to
6c4ee3b
Compare
6945e4e
to
42bfa4b
Compare
Codecov Report
@@ Coverage Diff @@
## master #122 +/- ##
==========================================
- Coverage 93.53% 83.69% -9.84%
==========================================
Files 9 9
Lines 603 736 +133
Branches 108 128 +20
==========================================
+ Hits 564 616 +52
- Misses 33 103 +70
- Partials 6 17 +11
Continue to review full report at Codecov.
|
Just wanted to note that this (#122) and #66 are currently blocked by the wheels for libgit2/pygit2#1024 . |
@jgowdy I had a realization this morning. Really more of an "omg DUH" moment. This is a case to listen to the Zen of Python:
Why go to all this trouble of handling all of these different protocols for cloning, and trying to fight with another package to get supported added for them cross-platform, when we already have a perfectly working cloning mechanism? Let's either look at copying over the cloning code from |
I like that idea a lot. Clone with GitPython, scan with pygit2. By cloning with GitPython we respect the user's git settings / use the OS' auth setup. By scanning with pygit2 we can ignore all of the user's settings which could otherwise mess with the scan (like the default behaviour in #179). |
This makes a great deal of sense! |
This has been re-implemented in #233. |
Considerable performance improvements over both v1.1.2 and v2.0.1 by switching from GitPython to pygit2