मुझे लगा कि मैं अपने प्रश्न का उत्तर दूंगा, क्योंकि मैं उत्तर में सुझाए गए रास्ते से अलग हूं। बहरहाल, जवाब देने वालों का शुक्रिया।
सबसे पहले, GitPython, PyGit और Dulwich के साथ मेरे अनुभवों का संक्षिप्त सारांश:
- GitPython : डाउनलोड करने के बाद, मुझे यह आयातित और उपयुक्त ऑब्जेक्ट इनिशियलाइज़ हो गया। हालांकि, ट्यूटोरियल में जो सुझाव दिया गया था, उसे करने की कोशिश करने से त्रुटियां हुईं। अधिक दस्तावेज़ीकरण खोने, मैं कहीं और बदल गया।
- PyGit : यह आयात भी नहीं करेगा, और मुझे कोई दस्तावेज नहीं मिला।
- डुलविच : सबसे होनहार लगता है (कम से कम जो मैं चाहता था और देखा के लिए)। मैंने इसके साथ कुछ प्रगति की, GitPython से अधिक, क्योंकि इसका अंडा पायथन स्रोत के साथ आता है। हालांकि, थोड़ी देर बाद, मैंने फैसला किया कि मैंने जो किया उसकी कोशिश करना आसान हो सकता है।
इसके अलावा, StGit दिलचस्प लग रहा है, लेकिन मुझे एक अलग मॉड्यूल में निकाले गए कार्यक्षमता की आवश्यकता होगी और इसके लिए अभी इंतजार नहीं करना होगा।
(मॉड्यूल) काम करने के लिए ऊपर दिए गए तीन मॉड्यूलों को प्राप्त करने में जितना समय मैंने खर्च किया उससे कम समय में, मैं सबप्रोडक्ट मॉड्यूल के माध्यम से काम करने के लिए git कमांड प्राप्त करने में कामयाब रहा, जैसे।
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')
यह पूरी तरह से मेरे कार्यक्रम में अभी तक शामिल नहीं है, लेकिन मैं एक समस्या की आशंका नहीं कर रहा हूं, शायद गति के अलावा (क्योंकि मैं सैकड़ों या हजारों फाइलों को कभी-कभी संसाधित करता हूं)।
हो सकता है कि मेरे पास सिर्फ ड्यूलविच या GitPython के साथ जाने के लिए धैर्य नहीं था। उस ने कहा, मुझे उम्मीद है कि मॉड्यूल अधिक विकास प्राप्त करेंगे और जल्द ही अधिक उपयोगी होंगे।