定的存储库A和库B(创建关变更A2的克隆):Mercurial - 差异合并存储库A-> B vs B-> A?
A1 - A2 - A3 - A4 - A5
\
B3 - B4
假设我们希望这两个库合并到一起。如果我们将回购B合并到回购A与将回购A合并到回购B中有什么区别吗?
我能想到的唯一差异是合并工具本地/基地arguments将取决于您选择的选项。是否还有其他差异要注意?
定的存储库A和库B(创建关变更A2的克隆):Mercurial - 差异合并存储库A-> B vs B-> A?
A1 - A2 - A3 - A4 - A5
\
B3 - B4
假设我们希望这两个库合并到一起。如果我们将回购B合并到回购A与将回购A合并到回购B中有什么区别吗?
我能想到的唯一差异是合并工具本地/基地arguments将取决于您选择的选项。是否还有其他差异要注意?
合并一般是对称的,也有一些例外:
也许你知道。我一直在假设我应该在分支中进行最少的变更合并(即更新为h1,并在h2中合并,其中h2自公共点起的变更少于h1),那么真的需要做“最好的事情”?也许为合并算法或更少的工作更少?我不记得为什么我会做出这样的假设,而是根据你的回答来判断,而我对它的考虑越多,这听起来就像我的假设是错误的。这与多个命名分支无关,只是两个头在同一个命名分支中,就像默认分支中那样。 – 2011-04-10 21:31:52
有趣的一点。如果我考虑这个问题,我也倾向于将这个分支合并为更少的变更。但是,从技术上讲,我也想不出有什么好的理由。也许这个假设是一个基于如果必须完全手动完成合并的错误观念。 – 2011-04-13 17:23:17
我想我会在Mercurial邮件列表上询问,如果我以某种方式得到明确的答案,我会回复一条评论。 – 2011-04-13 17:27:07
合并父母的顺序会有所不同,但这只会影响您在查看合并变更集时首先看到的差异。否则,如果更新到B4并合并到A5或反之,则没有任何区别。
我不含汞的专家,但阅读这个问题&决议后,我得到的感觉是合并方向可以产生巨大的变化:Backing Out a backwards merge on Mercurial
术语注:您合并*头*,而不是*库*(可能有多个头)。 – 2011-04-08 12:25:59
了解 - thx。 – 2011-04-08 13:21:10
我更新了问题以使用普通的Mercurial术语。 – 2011-04-08 13:44:36