Details
-
Improvement
-
Status: Open
-
Major
-
Resolution: Unresolved
-
None
-
None
-
None
Description
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: https://github.com/apache/arrow/pull/14033#discussion_r993778812
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).