Saya pikir saya akan menjawab pertanyaan saya sendiri, karena saya mengambil jalan yang berbeda dari yang disarankan dalam jawaban. Meskipun demikian, terima kasih kepada mereka yang menjawab.
Pertama, sinopsis singkat pengalaman saya dengan GitPython, PyGit, dan Dulwich:
- GitPython : Setelah mengunduh, saya mendapatkan ini diimpor dan objek yang sesuai diinisialisasi. Namun, mencoba melakukan apa yang disarankan dalam tutorial menyebabkan kesalahan. Karena tidak memiliki lebih banyak dokumentasi, saya berbalik ke tempat lain.
- PyGit : Ini bahkan tidak akan diimpor, dan saya tidak dapat menemukan dokumentasi.
- Dulwich : Tampaknya menjadi yang paling menjanjikan (setidaknya untuk apa yang saya inginkan dan lihat). Saya membuat beberapa kemajuan dengannya, lebih dari dengan GitPython, karena telurnya berasal dari sumber Python. Namun, setelah beberapa saat, saya memutuskan mungkin lebih mudah untuk mencoba apa yang saya lakukan.
Juga, StGit terlihat menarik, tetapi saya akan membutuhkan fungsionalitas diekstraksi menjadi modul terpisah dan tidak ingin menunggu itu terjadi sekarang.
Dalam waktu (jauh) lebih sedikit daripada yang saya habiskan untuk mendapatkan tiga modul di atas bekerja, saya berhasil mendapatkan perintah git bekerja melalui modul subproses, misalnya
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')
Ini belum sepenuhnya dimasukkan ke dalam program saya, tapi saya tidak mengantisipasi masalah, kecuali mungkin kecepatan (karena saya akan memproses ratusan atau bahkan ribuan file di kali).
Mungkin saya tidak punya kesabaran untuk menyelesaikan masalah dengan Dulwich atau GitPython. Yang mengatakan, saya berharap modul akan mendapatkan lebih banyak pengembangan dan lebih bermanfaat segera.