0

我正在尝试使用 hglib 获取给定版本的补丁。我知道 hg 命令是

hg log -pr rev

但我找不到如何使用 hglib 执行此操作或等效操作。似乎没有功能可以做到这一点,除非我自己破解代码来运行上述命令。任何帮助将不胜感激?

4

2 回答 2

2

hglibclient.log()接口不支持我想做的事情,但我找到了一种简单的方法来运行任意 hg 命令。这两行打印修订版本的补丁:

out = client.rawcommand([b'log', b'-pr', b'%i'%rev])
print(str(out, 'utf-8'))
于 2016-07-02T20:12:13.717 回答
1

可能这才是真正的答案!

import hglib
client = hglib.open(<path>)
client.export (revs = str(<revision number>), output = <output file path>)

您可以自己对子流程包执行相同的操作,以节省解释时间。Rawcommand 只是使用我们传递的参数构建一个命令,并再次使用 subprocess 执行。

于 2017-05-12T15:35:47.120 回答