【问题标题】:Mercurial: how to list merged changeset where the 2nd parent is from a specific branch?Mercurial:如何列出第二个父级来自特定分支的合并变更集?
【发布时间】:2012-05-14 17:31:43
【问题描述】:

我想查找所有从 branchX 合并到默认值的变更集。

因此,此类变更集的第一个父项是默认的,而此类变更集的第二个父项是在 branchX 上。

使用hg log -r 'branch("default") & merge(),我们默认拥有所有合并的变更集,无论第二个父级是否为branchX。

如何修改上述修订集以过滤掉第二个父级仅在 branchX 上的合并变更集?

【问题讨论】:

    标签: mercurial


    【解决方案1】:

    这在我的测试中是这样的:

    hg log -r "children(p2(branch(default)) & branch(branchX)) & merge()"
    

    解释:

    p2(branch(default)) & branch(branchX) 获取 branchX 上的变更集,它们是 default 分支上变更集的第二个父项。

    children() 获取这些变更集的子项

    & merge() 将这些子级限制为合并变更集。如果没有这个条件,你也会得到正在继续的孩子branchX

    我认为编辑这个效果更好:

    hg log -r "children(p2(branch(default)) & branch(branchX)) & branch(default)"
    

    第一个版本将包括对 branchX 的更改,这些更改是在从 branchX 合并到 default 之后从其他分支合并的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-06-01
      • 1970-01-01
      • 2011-10-30
      • 1970-01-01
      • 1970-01-01
      • 2017-01-09
      • 1970-01-01
      • 2014-11-05
      相关资源
      最近更新 更多