Currently archery has the following git related dependencies:
'release': ['gitpython']
'crossbow': ['github3.py', 'pygit2>=1.6.0']
'crossbow-upload': ['github3.py']
'bot': ['github3.py', 'pygit2>=1.6.0', 'pygithub']
that makes difficult to work with archery git related code and makes more difficult code reuse. As an example the comment on this PR: #14033 (comment)
While dev/archery/archery/crossbow/core.py uses pygit2, dev/archery/archery/release/core.py uses GitPython. The Repo class that is used in each module are also not shared.
We should refactor archery to not require 2 different github libraries (github3 and pygithub) and 2 different git ones (pygit and gitpython).
Reporter: Raúl Cumplido / @raulcd
Note: This issue was originally created as ARROW-18038. Please see the migration documentation for further details.