With Git >= 2.15 we get errors like TypeError: PackingType of packed-Refs not understood: '# pack-refs with: peeled fully-peeled sorted'
which is fixed in a newer version of GitPython:
https://github.com/gitpython-developers/GitPython/issues/687
https://github.com/gitpython-developers/GitPython/pull/689
That will be a big upgrade so we should so thorough testing. Also we should try to get some GitPython fixes merged into upstream if they haven't yet. At https://github.com/johnsca/GitPython/tree/sf-master there are fixes for [#5411], [#6000], [#6078], and [#7021]. (SourceForge uses a custom build that includes those fixes, but Allura's requirements.txt version doesn't include those)
Changes from 0.3.2 to 2.1.11 that may affect us:
Don't see any evidence of this being used by Allura.
We already use GitCmdObjectDB
Looks like
binsha
attribute still exists, so our continued usage of it should be ok.A nice new feature that could be used (esp. in last_commit_doc computations):
https://gitpython.readthedocs.io/en/stable/reference.html#git.cmd.Git.execute
kill_after_timeout
parameter.Make sure to
pip uninstall gitdb smmap
so they aren't installed alongside the gitdb2 and smmap2 packages.The custom patches at https://github.com/johnsca/GitPython/commits/sf-master have been applied upstream already, except for https://github.com/johnsca/GitPython/commit/f7ed51ba4c8416888f5744ddb84726316c461051 which seems pretty minor and probably was just handled differently overall.
db/8200 has the changes - ended up being very straightforward