我以为我会回答自己的问题,因为我所采取的途径与答案中所建议的不同。尽管如此,还是感谢那些回答的人。
首先,简要介绍一下我使用gitpython,PyGit和Dulwich的经验:
另外,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')
这还没有完全整合到我的程序中,但是除了速度(我有时会处理数百甚至数千个文件)之外,我没有预料到任何问题。
也许我只是没有耐心让Dulwich或gitpython正常运行。就是说,我希望这些模块能够得到更多的开发,并且很快就会有用。