Я думав, що відповім на власне запитання, оскільки я йду іншим шляхом, ніж пропонується у відповідях. Тим не менше, дякую тим, хто відповів.
По-перше, короткий конспект мого досвіду роботи з GitPython, PyGit та Dulwich:
- GitPython : Після завантаження я отримав цей імпортований і ініціалізований відповідний об'єкт. Однак спроба зробити те, що було запропоновано в навчальному посібнику, призвело до помилок. Не маючи більше документації, я звернувся в інше місце.
- PyGit : Це навіть не імпортується, і я не міг знайти жодної документації.
- Дульвіч : Здається, це найперспективніше (принаймні для того, що я хотів і бачив). Я досяг певного прогресу з цим, більше, ніж з GitPython, оскільки його яйце постачається з джерелом Python. Однак через деякий час я вирішив, що можливо просто простіше спробувати те, що я зробив.
Також StGit виглядає цікаво, але мені потрібна функціональність, витягнута в окремий модуль, і не хочу чекати, що це станеться зараз.
За (набагато) менше часу, ніж я витратив на те, щоб три модулі працювали вище, мені вдалося змусити команди git працювати через модуль підпроцесу, наприклад
def gitAdd(fileName, repoDir):
cmd = ['git', 'add', fileName]
p = subprocess.Popen(cmd, cwd=repoDir)
p.wait()
gitAdd('exampleFile.txt', '/usr/local/example_git_repo_dir')
Це ще не повністю включено в мою програму, але я не передбачаю проблеми, за винятком, можливо, швидкості (оскільки я обробляю сотні чи навіть тисячі файлів часом).
Можливо, я просто не мав терпіння змусити справи йти з Dulwich чи GitPython. Однак я сподіваюся, що модулі незабаром отримають більше розвитку та стануть кориснішими.