假设myfile在两个存储库(A和B)中进行了修改.在A中我们做了一个hg pull ../B让我们获得这些变更集:
A1 - A2 - A3 - A4 - A5
\
B3 - B4
Run Code Online (Sandbox Code Playgroud)
由于我们有两个头(A5,B4),我们做了一个hg merge.
现在如果有冲突,Mercurial会启动我们的合并工具(超越比较),我们得到三个视图:左边是本地,中间是父,右边是'其他'.鉴于我们的结构,左(本地)是A5,中(父)是A2,右(其他)是B4吗?
其次,Mercurial用于确定需要合并的逻辑究竟是什么?它是否看到有两个版本myfile没有任何孩子?它究竟是如何确定A2是父母的?
合并工具使用args的参数列表运行,并扩展了以下变量:
$output扩展到已包含第一个父级版本的现有文件 - 这也是合并结果最终/必须结束的位置$local扩展为file.orig,它作为工作目录版本中的文件副本创建 - 因此它包含来自第一个父项的未合并版本- $ base扩展到
/tmp/file~base.*使用共同祖先修订版本创建的(参见参考资料hg debugancestor)- $ other扩展到
/tmp/file~other.*使用与第一个父项合并的新的第二个父版本中的版本创建的
(是的,"左(本地)是A5,中(父)是A2,右(其他)是B4")

(参见" 执行合并 ")
| 归档时间: |
|
| 查看次数: |
339 次 |
| 最近记录: |