"模棱两可的合并 - 采取行动" - 这是什么意思?

Yar*_*Tal 5 version-control mercurial dvcs

我尝试合并:

hg me -r <some-revision>
Run Code Online (Sandbox Code Playgroud)

得到:

<some-file>: ambiguous merge - picked m action
Run Code Online (Sandbox Code Playgroud)

这是什么意思?

tor*_*rek 7

此消息来自合并代码,当它处理"困难"合并时,提交图中没有"最佳"最低共同祖先(LCA)提交.(相反,至少有两个LCA - 或者在这种情况下恰好两个,因为获得两个以上是很棘手的,我认为Mercurial不会.)如果你运行了详细或调试消息,你会看到几条消息"投标合并"过程.我在https://www.mercurial-scm.org/wiki/BidMerge中描述了投标合并(在我看来并不是很好).

您看到的消息表明,出价合并算法未能成功选择"最佳祖先",Mercurial回归其"选择(明显)随机的祖先"方法.

缺乏"最佳LCA"源于"纵横交错",其中您将分支A合并到B并将分支B合并到A.如果没有这样的合并,则总有一个最佳LCA,如果有任何LCA的话.这并不意味着你必须避免这种合并,但它确实意味着你应该意识到,如果你确实这样做,你可能会遇到模糊的合并基础问题.