如何在SVN中执行合并

时间:2014-02-04 19:42:06

标签: svn merge

我对SVN合并过程有疑问。

我在branch1中有一些文件修改,我想将这些更改合并到branch2,branch3和trunk。

是否应该从branch1完成合并 - > branch2然后branch2 - > branch3,最后是branch3 - >树干?

OR

应该从branch1完成合并 - > (branch2,branch3和trunk)?

1 个答案:

答案 0 :(得分:0)

当您合并SVN中的两个(任何)节点时(以及其他/可能并非所有 / SCM),在大多数情况下,目标将从所有更改来源,从历史中的分歧点开始

因此,如果您只想将来自branch1的更改填充到其他节点,则可以

  • 对具有相同来源的N个目标执行“完成”合并(读取svn help merge,第一种形式)N次 - branch1(大多数逻辑和以后检查历史记录方式可读)
  • 执行“完成”合并到一个(任何)目标中,使用此mergeset 作为其他目标的“cherry-pick”合并的源(它将起作用,将给出相同的结果,但似乎是逻辑解决方案)

PS - “完全”与可变来源合并导致中间分支的所有变化将出现在目标分支中,即

  

然后branch2 - > branch3,最后是branch3 - >躯干

  • branch3将获得branch1 + branch2更改
  • trunk将获得branch1 + branch2 + branch3更改

而不是从branch1共享对开发的其他分支的更改