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

Lon*_* Vu 8 mercurial

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

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

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

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

Ste*_*aye 8

这在我的测试中做到了:

hg log -r "children(p2(branch(default)) & branch(branchX)) & merge()"
Run Code Online (Sandbox Code Playgroud)

解释:

p2(branch(default)) & branch(branchX)获取变量集,branchX这是变量集在default分支上的第二个父变量.

children() 得到那些变化的孩子

& merge()将这些孩子限制为合并变更集.没有这种情况,你也会得到继续的孩子branchX

编辑这个做得更好我想:

hg log -r "children(p2(branch(default)) & branch(branchX)) & branch(default)"
Run Code Online (Sandbox Code Playgroud)

第一个版本将包括在branchX合并之后从其他分支合并的branchX更改default.