23

svn 书中它说merge's--reintegrate是“将所有源 URL 的更改合并到工作副本中”。

我想将一个分支合并回主干。有些地方说“绝对有必要”reintegrate在合并时调用,然后立即删除分支,我认为这很麻烦。其他地方根本没有提到重返社会。我有 svn 1.6.11。

所以我不确定现在该怎么做。

4

2 回答 2

22

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

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

如果您使用旧版本,则应使用--reintegratereintegration merges选项。请注意,如果您记住一些事情,在重新集成后仍然可以使用 (feature) 分支。SVN 书很好地解释了这一点:

于 2013-08-15T19:45:10.740 回答
7

升级到svn 1.8,不用再担心了,它会自动弄清楚该怎么做。

来自svn 1.8 发行说明

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

于 2013-08-15T20:12:45.377 回答