python mercurial api:获取传入的更改

时间:2013-06-10 01:48:28

标签: python mercurial-api

我有一个mercurial存储库“proj1”的本地副本。我希望通过python脚本使用The Mercurial API获取传入的更改。 我试过这样做:

from mercurial import hg, ui, commands, util, scmutil, httpconnection

repopath = "/home/username/develop/hg_repo"

myui = ui.ui()

repo = hg.repository(myui, repopath)

commands.incoming(myui, repo)

此代码失败,并显示消息:

  

mercurial.error.RepoError:找不到存储空间

但是commands.summary(...),commands.branch(...),commands.branches(...)工作正常。

你能帮帮我吗?感谢。

PS:抱歉我的英文

1 个答案:

答案 0 :(得分:4)

首先,您必须从repo对象传递给命令ui: repo.ui

commands.incoming(repo.ui, repo)

http://mercurial.808500.n3.nabble.com/repository-default-not-found-using-API-td3999339.html) 而且我们有KeyError:'bundle'

我不知道为什么mercurial没有设置选项 bundle force 的默认值,所以我们也需要传递它:

commands.incoming(repo.ui, repo, bundle=None,force=False)

此外,您几乎不能设置远程仓库:

commands.incoming(repo.ui, repo, source='default', bundle=None,force=False)

有关更多信息,请参阅lib / site-packages / mercurial / commands.py,hg.py