J'ai pensé que je répondrais à ma propre question, car je prends un chemin différent de celui suggéré dans les réponses. Néanmoins, merci à ceux qui ont répondu.
Tout d'abord, un bref résumé de mes expériences avec GitPython, PyGit et Dulwich:
- GitPython : Après le téléchargement, je l'ai importé et l'objet approprié initialisé. Cependant, essayer de faire ce qui a été suggéré dans le didacticiel a conduit à des erreurs. Faute de plus de documentation, je me suis tourné ailleurs.
- PyGit : Cela ne serait même pas importé, et je n'ai trouvé aucune documentation.
- Dulwich : Semble être le plus prometteur (au moins pour ce que je voulais et vu). J'ai fait quelques progrès avec lui, plus qu'avec GitPython, puisque son œuf est livré avec la source Python. Cependant, après un certain temps, j'ai décidé qu'il serait peut-être plus facile d'essayer ce que j'avais fait.
De plus, StGit semble intéressant, mais j'aurais besoin de la fonctionnalité extraite dans un module séparé et je ne veux pas attendre que cela se produise maintenant.
En (beaucoup) moins de temps que j'ai passé à essayer de faire fonctionner les trois modules ci-dessus, j'ai réussi à faire fonctionner les commandes git via le module de sous-processus, par exemple
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')
Ce n'est pas encore totalement intégré à mon programme, mais je n'anticipe pas de problème, sauf peut-être la vitesse (puisque je traiterai parfois des centaines voire des milliers de fichiers).
Peut-être que je n'avais tout simplement pas la patience de faire avancer les choses avec Dulwich ou GitPython. Cela dit, j'espère que les modules bénéficieront de plus de développement et seront bientôt plus utiles.