假设在两个存储库(A 和 B)中修改了 myfile
。在 A 中,我们执行了一个 hg pull ../B
,它为我们提供了这些变更集:
A1 - A2 - A3 - A4 - A5
\
B3 - B4
因为我们有两个头(A5,B4),所以我们做了一个
hg merge
。现在,如果存在冲突,Mercurial 会启动我们的合并工具(Beyond Compare),我们会得到三个 View :左侧是本地 View ,中间是父 View ,右侧是“其他” View 。给定我们的结构,左边(本地)是 A5,中心(父)是 A2,右边(其他)是 B4?
其次,Mercurial 用来确定需要合并的逻辑究竟是什么?它是否看到有两个版本的
myfile
没有任何 child ?它究竟是如何确定 A2 是父级的? 最佳答案
正如 Merge Tool Configuration 中提到的
(所以是的,“左边(本地)是 A5,中心(父)是 A2,右边(其他)是 B4”)
(参见“performing the merge”)
关于mercurial - 理解 Mercurial 合并逻辑,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5589933/