我想找到从 branchX 合并到默认值的所有变更集。
因此,此类变更集的第一个父级是默认的,而此类变更集的第二个父级位于 branchX 上。
使用hg log -r 'branch("default") & merge()
默认情况下,我们拥有所有合并的变更集,无论第二个父级是否为 branchX。
如何修改上述修订集以过滤掉第二个父级仅在 branchX 上的合并变更集?
我想找到从 branchX 合并到默认值的所有变更集。
因此,此类变更集的第一个父级是默认的,而此类变更集的第二个父级位于 branchX 上。
使用hg log -r 'branch("default") & merge()
默认情况下,我们拥有所有合并的变更集,无论第二个父级是否为 branchX。
如何修改上述修订集以过滤掉第二个父级仅在 branchX 上的合并变更集?
这在我的测试中做到了:
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)"
第一个版本将包括在从 tobranchX
合并之后从其他分支合并的branchX
更改default
。