人们对Python的任何Git模块有何经验?(我知道GitPython,PyGit和Dulwich-如果您知道其他人,请随意提及。)
我正在编写一个程序,该程序必须与Git存储库进行交互(添加,删除,提交),但是没有使用Git的经验,所以我要寻找的东西之一就是关于Git的易用性/理解性。
我主要感兴趣的其他事情是库的成熟度和完整性,合理的错误缺失,持续的开发以及文档和开发人员的帮助。
如果您想其他/我可能想知道的事情,请随时提及。
我以为我会回答自己的问题,因为我所采取的途径与答案中所建议的不同。尽管如此,还是感谢那些回答的人。
首先,简要介绍一下我使用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正常运行。就是说,我希望这些模块能够得到更多的开发,并且很快就会有用。