SVN多分支代码合并问题

SVN多分支代码合并问题,svn,version-control,merge,svn-reintegrate,svn-merge-reintegrate,Svn,Version Control,Merge,Svn Reintegrate,Svn Merge Reintegrate,我们使用SVN1.6 我们喜欢在分支之间执行代码合并,我们处于进退两难的境地 分支A存在 在分支机构A上进行代码更改的人员 从分支A创建的分支B 在分支A和分支B上进行代码更改的人员 分支A同步代码合并到分支B 一段时间后 从分支A创建的分支C 分支A继续同步代码合并到分支B(短时间) 在分支C上进行代码更改的人 人们停止分支A上的代码更改,分支“冻结”,不再有ci 在分支机构B上进行代码更改的人员 分支C同步代码合并到分支B 在分支B和C上进行代码更改的人员 经过一段很长的时间 现在进退两难:

我们使用SVN1.6 我们喜欢在分支之间执行代码合并,我们处于进退两难的境地

分支A存在
在分支机构A上进行代码更改的人员
从分支A创建的分支B
在分支A和分支B上进行代码更改的人员
分支A同步代码合并到分支B
一段时间后
从分支A创建的分支C
分支A继续同步代码合并到分支B(短时间)
在分支C上进行代码更改的人 人们停止分支A上的代码更改,分支“冻结”,不再有ci
在分支机构B上进行代码更改的人员
分支C同步代码合并到分支B
在分支B和C上进行代码更改的人员
经过一段很长的时间

现在进退两难:我们想把分支B合并到分支C

因为分支B来自分支A,而不是分支C,所以我们无法为从B到C的代码合并应用--reintegrate选项,因为它们不具有共同的祖先


合并(不使用--reintegrate选项)以防止(B中的C)的“双重合并/重复代码”进入分支C的风险最小的方法是什么?

通过简单的绘图可视化分支结构。我对你的问题的理解是:

               C ---- C ---- C ----- C
              /        \      \
A --- A ---- A --- A    \      \      ???
 \     \      \     \    \      \
  B --- B ---- B --- B -- B ---- B ---- B
我会将C和B集成到A中。如果这不是一个选项,您可以通过3个步骤/3系列步骤完成:

  • 将在B中完成的所有更改合并到C中,但不要将从A中合并的更改合并到C中。执行此操作,直到达到从A到B的最后一次合并(不在C中)
  • 将最后一次从A到B的合并也合并到C中
  • 合并在B上所做的其余更改(在上次从A合并之后),但忽略C中包含的更改
  • 我不完全清楚你的结构。如果是的话

                   C ---- C ---- C ----- C
                  /        \      \
    A --- A ---- A --- A    \      \      ???
     \     \            \    \      \
      B --- B ---- B --- B -- B ---- B ---- B
    

    我会将A中的最后更改直接转换为C。

    您可以使用“合并一系列修订”吗。乌龟提供了这样一个选择,但我不确定SVN1.6是否能处理这个问题。你好,BHF,谢谢你的回复。您的图表在我的文本描述中看起来是正确的。因此,根据您的解决方案,在不使用--reintegrate选项的情况下,我们应该根据上述3个步骤中的1个,一次合并一个版本号;这是我们的正确理解吗?您可以按照单个变更集执行这些步骤。如果在开始第2步之前先执行第1步,则可以降低两次操作的风险。试一试,如果出了问题,请恢复您的工作副本并重新开始。祝你好运