Kendi soruma cevap vereceğimi düşündüm, çünkü cevaplarda önerilenden farklı bir yol izliyorum. Yine de cevaplayanlara teşekkürler.
İlk olarak, GitPython, PyGit ve Dulwich ile deneyimlerimin kısa bir özeti:
- GitPython : İndirdikten sonra bunu içe aktardım ve uygun nesne başlatıldı. Ancak, öğreticide önerilenleri yapmaya çalışmak hatalara yol açtı. Daha fazla dokümantasyon eksik, başka bir yere döndüm.
- PyGit : Bu bile içe aktarılmaz ve hiçbir belge bulamadım.
- Dulwich : En umut verici görünüyor (en azından istediğim ve gördüklerim için). Yumurtası Python kaynağı ile geldiğinden, GitPython'dan daha fazla ilerledim. Ancak, bir süre sonra, ne yaptığımı denemenin daha kolay olabileceğine karar verdim.
Ayrıca, StGit ilginç görünüyor, ancak ayrı bir modüle çıkarılan işlevselliğe ihtiyacım var ve şu anda bunun olmasını beklemek istemiyorum.
Yukarıdaki üç modülü çalışmaya çalışırken harcadığımdan (çok) daha kısa sürede, git komutlarını alt işlem modülü aracılığıyla çalıştırabildim, örn.
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')
Bu henüz programıma tam olarak dahil edilmedi, ancak belki de hız dışında bir sorun beklemiyorum (çünkü bazen yüzlerce hatta binlerce dosyayı işleyeceğimden).
Belki de Dulwich veya GitPython ile işleri halletme sabrım yoktu. Bununla birlikte, modüllerin daha fazla gelişme göstereceğini ve yakında daha yararlı olacağını umuyorum.