【问题标题】:hglib: show patches for a revision, possible?hglib:显示修订补丁,可能吗?
【发布时间】:2016-06-30 11:23:37
【问题描述】:

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

hg log -pr rev

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

【问题讨论】:

    标签: python mercurial hglib


    【解决方案1】:

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

    out = client.rawcommand([b'log', b'-pr', b'%i'%rev])
    print(str(out, 'utf-8'))
    

    【讨论】:

      【解决方案2】:

      这可能是真正的答案!

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-02-20
        • 2014-02-14
        • 1970-01-01
        • 2019-01-09
        • 1970-01-01
        • 2020-12-14
        • 2011-07-26
        • 2014-07-04
        相关资源
        最近更新 更多