2

使用“原始”的 mercurial API,我可以编写如下内容:

peer = hg.peer(ui.ui(), {}, 'ssh://hg@bitbucket.org/some/project')

建立连接后,我可以使用远程仓库。

我无法理解使用 hglib 的远程仓库应该如何工作。天真的方法,即使用一些简单的东西:

hglib.open("ssh://hg@bitbucket.org/some/project")

不起作用,并且引发的异常并没有让我更清楚。

我的问题:使用 hglib,我如何打开与远程 ssh-repo 的连接?

4

1 回答 1

1

hglib 文档对如何使用它不是很罗嗦。最好的办法是在您的~/.ssh/known_hosts.

但是你可以克隆一个 repo:

hglib.clone(source="ssh://hg@bitbucket.org/some/project")

您当然可以添加目标文件夹(例如 dest="/path/to/blah")。

如果您已经克隆了现有的 hg repo,您​​可以在尝试之前更改 hgrc 中的一些设置hglib.open(),因此 hg 使用 ssh url,如下所示:

[ui]
username = some_user

[paths]
default = ssh://hg@bitbucket.org/some/project

编辑 我认为 hg.open 工作,你必须有一个回购检查。对我来说,我指的是我的仓库被克隆的路径。所以:

hglib.open('/path/to/cloned/repo')

要通过 SSH 执行此操作,您必须如上所述编辑 /repopath/.hg/hgrc。

于 2014-03-04T09:27:53.613 回答