Я думал, что отвечу на свой вопрос, так как я иду по другому пути, чем предлагалось в ответах. Тем не менее, спасибо тем, кто ответил.
Во-первых, краткий обзор моего опыта работы с 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')
Это еще не полностью включено в мою программу, но я не предвижу проблему, кроме, возможно, скорости (так как я буду обрабатывать сотни или даже тысячи файлов за раз).
Возможно, у меня просто не хватило терпения наладить дела с Далвичем или GitPython. Тем не менее, я надеюсь, что модули получат больше развития и будут более полезными в ближайшее время.