我有一个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:抱歉我的英文
答案 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