5

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

前:

0 - 1

后:

0 - 1 - 2 - 3
    \  /
     4 (branch)

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

4

3 回答 3

4

而不是调用hg headshg heads --topo显示拓扑头的呼叫 - 那些没有孩子的人。您会看到他们合并分支的头部,但由于它已合并,因此它不是拓扑头部并且--topo会抑制它。

于 2012-04-24T16:17:09.590 回答
3

如果您的分支名称中没有空格,则可以使用此脚本:

#!/bin/sh

for b in $(hg branches -q); do
    h=$(hg heads --template "." $b)
    if test ${#h} -gt 1; then
        echo "Branch $b needs merging, it has ${#h} heads"
    fi
done

它遍历每个打开的分支并计算其上的正面数。

于 2012-04-24T13:30:17.810 回答
0

您可以在拉取之前克隆您的存储库,然后使用--new-branch. 如果这抱怨新的头,你需要合并。

于 2012-04-24T12:29:12.797 回答