1

我有一个 mercurial 存储库“proj1”的本地副本。我想通过 python 脚本使用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:对不起我的英语

4

1 回答 1

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 没有为选项bundleforce设置默认值,所以我们也需要通过它:

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

于 2013-08-21T08:02:45.953 回答