如果我想将一个分支合并到主干上,那么“svn merge --reintegrate”和没有重新整合的svn合并之间的区别是什么?

时间:2013-08-15 18:36:01

标签: svn version-control

svn book中,它说merge的{​​{1}}是“将所有源网址的更改合并到工作副本中”。

我想将分支合并回主干。 Some places表示在合并时调用--reintegrate然后立即调用delete the branch是“绝对必要的”,我认为这是一件麻烦事。 Other places根本没有提到重返社会。我有svn 1.6.11。

所以我现在不知道该怎么做。

2 个答案:

答案 0 :(得分:15)

同步合并重新融合合并完全不同。前者用于将在父分支上进行的所有更改合并到目标分支(通常是功能分支),这些更改尚未合并。后者用于将(特征)分支合并回父分支。基本上,这意味着创建(特征)分支的临时克隆,从父分支到临时分支进行同步合并,最后父分支由临时分支替换。换句话说,临时分支包含对(特征)分支和父分支所做的所有更改。

出于某种原因,一些开发人员并不了解其中的差异。因此,SVN开发人员删除了SVN 1.8中的选项--reintegrate。使用此版本时,如果应使用同步合并重新集成合并,该工具会自动检测到。

如果您使用旧版本,则应使用{em>重新整合合并选项--reintegrate。请注意,如果您记住一些事项,重新整合后仍然可以使用(功能)分支。 SVN书很好地解释了它:

答案 1 :(得分:3)

升级到svn 1.8并且不再担心,它会自动找出要做的事情。

来自svn 1.8 release notes

  

在合并所有符合条件的修订版与另一个分支的合并期间,Subversion 1.8将自动决定合并是否重新集成了分支。因此,重新集成分支不再需要--reintegrate选项来进行正确操作。

相关问题