Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mercurial-差异合并存储库A->;B对B->;A._Mercurial_Merge - Fatal编程技术网

Mercurial-差异合并存储库A->;B对B->;A.

Mercurial-差异合并存储库A->;B对B->;A.,mercurial,merge,Mercurial,Merge,给定存储库A和存储库B(根据变更集A2的克隆创建): 假设我们想将这两个存储库合并在一起。如果我们将回购B合并到回购A中,与将回购A合并到回购B中有什么区别吗 我能想到的唯一区别是合并工具local/base会根据您选择的选项而反转。是否还有其他差异需要注意?合并父项的顺序将不同,但这只会影响您在查看合并更改集时首先看到的差异。否则,如果您更新到B4并合并到A5或反之亦然,则实际上没有任何区别。通常合并是对称的,只有少数例外: 如果合并的头来自不同的命名分支,则顺序很重要。合并 修订将位于第一

给定存储库A和存储库B(根据变更集A2的克隆创建):

假设我们想将这两个存储库合并在一起。如果我们将回购B合并到回购A中,与将回购A合并到回购B中有什么区别吗


我能想到的唯一区别是合并工具local/base会根据您选择的选项而反转。是否还有其他差异需要注意?

合并父项的顺序将不同,但这只会影响您在查看合并更改集时首先看到的差异。否则,如果您更新到B4并合并到A5或反之亦然,则实际上没有任何区别。

通常合并是对称的,只有少数例外:

  • 如果合并的头来自不同的命名分支,则顺序很重要。合并 修订将位于第一个父级的分支上
  • 以相同开头适用于书签,即仅书签
    第一个父项的将前进到合并修订
  • 合并修订的父项在日志视图和差异视图中的顺序不同,但是 没有任何值得注意的实际意义(根据我的经验)

我不是mercurial专家,但在阅读了这个问题和解决方案后,我觉得合并方向可以带来巨大的不同:

术语说明:您合并头,而不是存储库(可能有多个头)。我更新了问题,使用普通mercurial术语。可能重复@Martin,我恢复了编辑。我们的情况是我们有两个存储库-A和B。我们可以去A做
hg pull B
&
hg merge
。或者转到B并执行
hg拉A
&
hg合并
。这是一个不同于已有两个头的单一存储库的问题/场景。@Marcus-一旦拉取完成,就没有区别了,您可以在合并之前更新到A5或B4。也许您知道。我一直在假设我应该以最少的更改(即更新到h1,并合并到h2,其中h2自公共点以来的更改比h1少)合并到分支中,这样做真的有必要吗?也许合并算法或诸如此类的工作更少?我不记得为什么我会做出这样的假设,但从你的回答来看,我越想越觉得我的假设是错误的。这与多个命名分支无关,只是同一命名分支中的两个头部,比如说,默认分支。有趣的一点。如果我仔细想想,我也倾向于将变化较少的分支合并到变化较多的分支中。但是,从技术上讲,我也找不到一个好的理由。也许这个假设是一个错误的想法,基于如果必须完全手动完成合并,人们将如何进行合并。我想我会在Mercurial邮件列表上询问,如果我以某种方式得到一些明确的信息,我会回来发表评论。根据邮件列表()上的和Kevin Bullock,答案是否定的,合并文件内容并不重要。但是,第一个父级的书签将向前移动,另一个则不会(假设父级有书签),并且如果在命名分支之间合并,新的提交将在第一个父级的命名分支上结束(除非在提交之前手动重写)。请阅读响应,确保信息正确!已更新(自Mercurial 1.8.4以来,只有第一个父项的书签在合并时移动)。
A1 - A2 - A3 - A4 - A5
        \
          B3 - B4