Mercurial:如何列出第二个父级来自特定分支的合并变更集?

时间:2012-05-14 17:31:44

标签: mercurial

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

因此,此类变更集的第一个父级是默认的,此类变更集的第二个父级位于branchX上。

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

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

1 个答案:

答案 0 :(得分:8)

这在我的测试中做到了:

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)"

第一个版本将包含从branchXbranchX合并后从其他分支合并的default上的更改。