Python包装器访问Hg,Git和可能的Bazaar存储库?

Kev*_*unn 8 python git mercurial dvcs wrapper

我正在寻找一个可以对存储库进行基本操作的Python库,但它独立于后端版本控制系统.

通过基本操作,我指的是:初始化仓库,添加文件,提交,拉动,推送,获取当前版本号.

图书馆的用户可以这样做:

import dvcs_wrapper as dvcs
dvcs.set_backend('hg')  # could choose 'git', 'bzr'

repo = dvcs.init('/home/me/my_repo')
repo.add('/home/me/my_repo/*.py')
repo.commit('Initial commit')
repo.push('http://bitbucket.org/....')
print('At revision %d' % repo.revision_num)
Run Code Online (Sandbox Code Playgroud)

有什么指向上面的东西吗?我的谷歌搜索没有发现......

更新:对于它的价值,我已经开始在这样的工作:代码是在这里单元测试 汞库.我可能会去Git和Bazaar; 贡献欢迎.

Rya*_*cox 5

还有VCS模块,它宣传:

vcs是各种版本控制系统的抽象层.它被设计为具有干净API的功能丰富的Python库.


Wan*_*wei 4

我认为你不走运。

有 git 的 Python 包装器,但据此,质量仍然达不到最佳水平。Hg和bzr是Python项目,但它们的基础设施有很大不同,因此API级别的集成并不容易。此外,不同的 SCM 具有不同的设计理念,这使得统一的包装器不太可信。

话虽这么说,如果您确实需要一个简单的包装器,您可以使用该subprocess模块并包装命令行来获得您想要的结果。