Ich dachte, ich würde meine eigene Frage beantworten, da ich einen anderen Weg gehe als in den Antworten vorgeschlagen. Trotzdem danke an diejenigen, die geantwortet haben.
Zunächst eine kurze Zusammenfassung meiner Erfahrungen mit GitPython, PyGit und Dulwich:
- GitPython : Nach dem Herunterladen habe ich dies importiert und das entsprechende Objekt initialisiert. Der Versuch, das zu tun, was im Tutorial vorgeschlagen wurde, führte jedoch zu Fehlern. Da ich keine Dokumentation mehr hatte, wandte ich mich woanders hin.
- PyGit : Dies würde nicht einmal importiert, und ich konnte keine Dokumentation finden.
- Dulwich : Scheint am vielversprechendsten zu sein (zumindest für das, was ich wollte und sah). Ich habe damit einige Fortschritte gemacht, mehr als mit GitPython, da sein Ei mit Python-Quelle geliefert wird. Nach einer Weile entschied ich jedoch, dass es möglicherweise einfacher ist, zu versuchen, was ich getan habe.
Auch StGit sieht interessant aus, aber ich würde die Funktionalität in ein separates Modul extrahieren müssen und möchte nicht warten, bis dies jetzt geschieht.
In (viel) weniger Zeit, als ich damit verbracht habe, die drei oben genannten Module zum Laufen zu bringen, gelang es mir, Git-Befehle über das Unterprozessmodul zum Laufen zu bringen, z
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')
Dies ist noch nicht vollständig in mein Programm integriert, aber ich erwarte kein Problem, außer vielleicht Geschwindigkeit (da ich manchmal Hunderte oder sogar Tausende von Dateien verarbeiten werde).
Vielleicht hatte ich einfach nicht die Geduld, mit Dulwich oder GitPython etwas in Gang zu bringen. Trotzdem bin ich zuversichtlich, dass die Module bald weiterentwickelt und nützlicher werden.