我有一个回购!我们已经使用书签、标签和许多其他扩展程序使用它很长时间了,没有任何问题,远程或本地。我刚刚遇到了一个问题,虽然合并似乎忽略了提交的变更集。我已经挖得足够远以找出问题所在,但我完全不知道为什么。我会尽我所能详细说明发生的事情,我希望得到建议作为下一步的研究方向。
所以我们有 3 个匿名头用于快速特征分支。A='Live',B='Fred' & C='Jeff'。我们在需要时将它们合并(通常仅从 A 到 B/C)。
今天早上运行两次合并虽然有一些奇怪的结果。我这样做了:
-----o-------o(2)----------B
/
o(0)-------o(1)-----o(4)---A
\
--o-------------o(3)-------C
显然,这被简化了,因为我们在 repo 中有超过 1500 次提交,并且有 2 个命名分支在这些分支旁边运行,但这是要点。
所以变更集1
有 3 个孩子(2
, 3
& 4
),但据我所知,1
自上次合并(在图中)以来在 + 所有历史中实际所做的更改0
尚未合并到3
中,但已成功出现在2
&中4
。
我一生都无法弄清楚为什么,它没有在随后的提交中反转它们,1
对文件进行了更改,2
并4
包含了该更改,但3
没有。
我从哪说起呢?
更新
我在 B + C 上执行了合并,并使用hg merge A
withinternal:merge
作为合并工具。不需要合并冲突或手动解决方案。如果我合并成功,我通常只是提交它并在事后进行测试以进行更改。这就是这里发生的事情。