Svn Subversion-将分支合并到主干中

Svn Subversion-将分支合并到主干中,svn,merge,Svn,Merge,我用我的主干创建了一个分支(修订版9002),并在几个星期内继续对其进行更改。我还定期将主干中的更改合并到分支中,使用 svn合并-rXXXX:HEAD 其中XXXX是我上次合并创建的版本之后的版本。到目前为止还不错 我现在不得不将分支合并到主干中,并且在这样做时遇到了很大的困难。我试过跟随,但是当使用 svn merge -r9003:head http://path/to/my/branch 我得到了大约20个树冲突,然后是svn:尝试添加已经存在的树冲突,然后进程停止 这是正确的方法吗?

我用我的主干创建了一个分支(修订版9002),并在几个星期内继续对其进行更改。我还定期将主干中的更改合并到分支中,使用

svn合并-rXXXX:HEAD

其中XXXX是我上次合并创建的版本之后的版本。到目前为止还不错

我现在不得不将分支合并到主干中,并且在这样做时遇到了很大的困难。我试过跟随,但是当使用

svn merge -r9003:head http://path/to/my/branch
我得到了大约20个树冲突,然后是
svn:尝试添加已经存在的树冲突,然后进程停止

这是正确的方法吗?有什么想法吗


我在分支上做的最后一件事是将主干合并到它,因此分支基本上是我的新主干。

当我将分支合并回主干时,我总是使用
--reintegrate
标志。因此,在签出的trunk副本的目录中,尝试
svn merge--reintegrate^/path/to/branch
。另外,我不确定您为什么使用签出的trunk副本目录中的
svn merge-rXXXX:HEAD
而不是
svn merge^/trunk
。这就是我一直在做的,尽管我经常错:)

如果您已经将所有内容从主干合并到分支中,并且只想将其升级到主干,那么可能最简单的方法就是移动存储库中的目录

svn move http://path/to/trunk http://path/to/branches/old-trunk
svn move http://path/to/branches/my-new-trunk http://path/to/trunk
请注意,既然您现在已复制到trunk中,那么
svn日志--复制时停止(乌龟的默认设置)将在此时停止-您需要关闭该标志以查看后面的内容


否则,我认为您必须像以前一样,将svn合并成小组,而不是一次完成,并在执行过程中解决各种冲突。

要合并您的分支,您必须合并分支和主干的差异(即,手动重新整合)

所以

其中
N
是合并到分支中的主干的最后一个修订版。考虑到您所做的最后一件事是将分支与主干同步,您可以使用
HEAD

从某种意义上说,您告诉SVN合并在分支中完成的所有更改,不包括来自主干的更改


另外,当您希望将分支与主干同步时,请执行
svn mergehttp://path/to/trunk .

不幸的是,存储库不支持--重新集成。@Per Holmäng:啊,那么忽略:)您运行的是什么版本的subversion?您的客户端和服务器上运行的是什么版本的SVN?
svn merge http://path/to/trunk@N http://path/to/branch@HEAD .