如何找到未合并到default
分支或任何其他分支的所有分支头?
1----2----4----6----8----13----14 Branch: default (E is a merge of F into D)
\ \ \ \ / /
\ \ \ 7 / Branch B1 (closed-merged)
\ \ 5-----9---+ Branch B2 (closed-merged)
15 \ \ Branch B5
\ 10 Branch B3
3 \ Branch B4
\ 11 Branch B3
12 Branch B4
在上面的示例中(改编自this SO answer),我正在尝试构建一个搜索,该搜索将返回变更集11
,12
和15
以及分支(Branch B3
,Branch B4
和Branch B5
)作为分支未合并到default
。
与12
相比,我还希望更改集11
,9
,7
,14
和Branch 5
的结果{ p>
答案 0 :(得分:1)
使用revsets可以像这样完成:
hg log -r 'not ancestors(14) and head()'
这应该会给你更改集11,12和15.如果用15代替14,你应该得到你期望的集合。要同时排除已关闭的分支(在您的示例中为7和9),您可以将and not closed()
添加到revset定义:
hg log -r 'not ancestors(14) and head() and not closed()'
在revsets上详细了解hg's help pages。
答案 1 :(得分:0)
您要求的95%仅提供:
hg heads
我唯一能看错的是它确实包含了你的例子中的后备箱尖端14。