Ho pensato di rispondere alla mia domanda, dato che sto prendendo una strada diversa da quella suggerita nelle risposte. Tuttavia, grazie a coloro che hanno risposto.
Innanzitutto, una breve sinossi delle mie esperienze con GitPython, PyGit e Dulwich:
- GitPython : Dopo il download, ho importato questo e inizializzato l'oggetto appropriato. Tuttavia, provare a fare ciò che è stato suggerito nel tutorial ha portato a errori. In mancanza di ulteriore documentazione, mi sono rivolto altrove.
- PyGit : Questo non sarebbe nemmeno importato e non ho trovato documentazione.
- Dulwich : sembra essere il più promettente (almeno per quello che volevo e vedevo). Ho fatto qualche progresso con esso, più che con GitPython, dal momento che il suo uovo viene fornito con sorgente Python. Tuttavia, dopo un po ', ho deciso che potrebbe essere più semplice provare quello che ho fatto.
Inoltre, StGit sembra interessante, ma avrei bisogno della funzionalità estratta in un modulo separato e non voglio aspettare che ciò accada in questo momento.
In (molto) meno tempo di quanto ho passato a cercare di far funzionare i tre moduli sopra, sono riuscito a far funzionare i comandi git tramite il modulo di sottoprocesso, ad es.
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')
Questo non è ancora completamente incorporato nel mio programma, ma non sto anticipando un problema, tranne forse la velocità (poiché a volte elaborerò centinaia o addirittura migliaia di file).
Forse non ho avuto la pazienza di far andare le cose con Dulwich o GitPython. Detto questo, spero che i moduli avranno più sviluppo e saranno presto più utili.