如何判断在拉入 Mercurial 后是否需要合并?

Pet*_*ake 5 mercurial branch head

我有一个单头存储库的克隆,漂亮而简单。在引入其他人的更改后,我有一个脚本可以计算人头数以查看是否需要合并。但是如果对方做了一个分支并合并,“hg head”显示两个head,脚本认为它必须合并。真正的测试应该是什么?

前:

0 - 1
Run Code Online (Sandbox Code Playgroud)

后:

0 - 1 - 2 - 3
    \  /
     4 (branch)
Run Code Online (Sandbox Code Playgroud)

这不需要合并。但是,简单比较前后正面的数量就会表明确实如此。为什么在这种情况下,Mercurial 甚至显示出不止一个头?

Ry4*_*ase 4

而不是调用仅显示拓扑hg heads头的呼叫- 那些没有孩子的头。你会看到他们合并分支的头部,但由于它被合并了,所以它不是一个拓扑头部,并且会抑制它。hg heads --topo--topo