Pensei em responder minha própria pergunta, pois estou seguindo um caminho diferente do sugerido nas respostas. No entanto, obrigado a quem respondeu.
Primeiro, uma breve sinopse das minhas experiências com GitPython, PyGit e Dulwich:
- GitPython : Após o download, consegui isso importado e o objeto apropriado inicializado. No entanto, tentar fazer o que foi sugerido no tutorial levou a erros. Na falta de mais documentação, eu me virei para outro lugar.
- PyGit : Isso nem importaria, e não encontrei documentação.
- Dulwich : Parece ser o mais promissor (pelo menos para o que eu queria e vi). Fiz alguns progressos com ele, mais do que com o GitPython, já que seu ovo vem com a fonte Python. No entanto, depois de um tempo, decidi que seria mais fácil tentar o que fiz.
Além disso, o StGit parece interessante, mas eu precisaria da funcionalidade extraída em um módulo separado e não quero esperar que isso aconteça agora.
Em (muito) menos tempo do que gastei tentando colocar os três módulos acima em funcionamento, consegui que os comandos git funcionassem através do módulo de subprocesso, por exemplo
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')
Isso ainda não está totalmente incorporado ao meu programa, mas não estou prevendo um problema, exceto talvez a velocidade (já que processarei centenas ou até milhares de arquivos às vezes).
Talvez eu simplesmente não tenha paciência para fazer as coisas acontecerem com Dulwich ou GitPython. Dito isto, espero que os módulos tenham mais desenvolvimento e sejam mais úteis em breve.