2

我正在尝试为 Python IDE 制作 Mercurial 支持插件,但我在理解 API 时遇到了很多麻烦。现在我只是在做实验来理解 api 不同命令的用法,但我找不到 api 的文档或类似的东西。

我的问题是 r.changectx 不起作用,因为 r 没有这个操作。我看到很多使用 changectx 函数的例子。

我的善变版本是 1.7.3 。非常感谢 !!

from mercurial import ui, hg


r = hg.repository(ui.ui(), "https://ninja-ide.googlecode.com/hg/")
c = r.changectx("setup.py")

# show some information about the changeset
print c # represented as the changeset hash
print c.user()
print c.description()
print

# let's take a peek at the files
files = c.files()
for f in files:
 fc = c[f]
 print " ", f, len(fc.data())
4

1 回答 1

3

我认为它需要一个本地仓库才能像这样工作。此外,您需要对changectx.

from mercurial import ui, hg, commands

myui = ui.ui()
repourl = "https://ninja-ide.googlecode.com/hg/"

commands.clone(myui, repourl, 'ninja')
r = hg.repository(myui, './ninja')
c = r.changectx("tip")

# show some information about the changeset
print c # represented as the changeset hash
print c.user()
print c.description()
print

# let's take a peek at the files
files = c.files()
for f in files:
 fc = c[f]
 print " ", f, len(fc.data())

编辑:此常见问题解答条目似乎证实它不适用于远程存储库。

于 2011-01-16T05:43:02.553 回答