【问题标题】:How to know if a branch is closed using its changeset?如何知道分支是否使用其变更集关闭?
【发布时间】:2019-03-29 01:38:35
【问题描述】:

内部构建系统构建在分支上所做的每个提交。但是,在 Mercurial 中,要关闭一个分支,您必须进行“关闭提交”,触发该提交的构建。

这是一个问题,因为我们在不必要的构建上浪费了资源。

我们正在使用 hglib 来完成所有的可变代码。

(changeset.branch(), changeset.rev(), str(changeset)) in self.repo.Branches()

我试过这个命令,但这会忽略之前的提交,因为我知道它只是检查它是否作为一个分支存在于 repo 中。

有什么方法可以通过变更集或其他方式知道分支上的提交是否是“关闭提交”。

【问题讨论】:

    标签: python mercurial hglib


    【解决方案1】:

    close 信息存储在变更集附加文件中。我不确定如何通过 hglib 访问它,但您可以通过模板化日志调用访问它:hg log -r 2 -T "{extras|json}\n":

    {"branch": "branch", "close": "1", "topic": "laconic-kouprey"}

    【讨论】:

      【解决方案2】:

      最后,这就是我想要的:

      self.Client.log(revrange="closed()")
      

      这将返回:

      [(revision, changeset, tag, branch name, 'username', description, date)]
      

      这只是一个元组,因此:

      How to search a list of tuples in Python

      【讨论】:

        猜你喜欢
        • 2015-11-22
        • 2015-03-28
        • 2014-03-03
        • 2010-11-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多