我尝试合并:
hg me -r <some-revision>
并获得:
<some-file>: ambiguous merge - picked m action
这是什么意思?
答案 0 :(得分:7)
当处理“困难”合并时,此消息来自合并代码,其中提交图中没有“最佳”最低共同祖先(LCA)提交。 (相反,至少有两个LCA - 或者在这种情况下恰好两个,因为获得两个以上是很棘手的,我认为Mercurial不会。)如果你运行了详细或调试消息,你会看到几条消息“投标合并”过程。在https://www.mercurial-scm.org/wiki/BidMerge中描述了出价合并(在我看来并不是很好)。
您看到的消息表明,出价合并算法未能成功选择“最佳祖先”,而且Mercurial回归其“选择一个(明显的)随机的祖先”方法。
缺乏“最佳LCA”源于“交叉融合”,您将分支A合并到B,将分支B合并到A.如果没有这样的合并,总有一个最好的LCA,如果有任何LCA的话。这并不意味着你必须避免这种合并,但它确实意味着你应该意识到如果你做制作它们,你可能会遇到模糊的合并基础问题。