如何合并两个SVN分支?

Ton*_*ony 15 svn merge

我检查了两个SVN分支,"b1"和"b2".我想将所有提交从"b1"分支合并到"b2"分支.我尝试过类似的东西

svn merge -r HEAD:HEAD b1 b2
Run Code Online (Sandbox Code Playgroud)

但它什么都没做.我确信我的命令错了,但我找不到好的文档.我想在客户端这样做,而不是创建第三个分支.

我使用的SVN 1.4.4不支持reintegrate选项.

我该怎么做?

exh*_*uma 18

你的问题在于-r旗帜.您必须指定一系列修订.例如:

svn merge -r 13:HEAD b1 b2
Run Code Online (Sandbox Code Playgroud)

要找出正确的修订版号,您可以执行以下操作:

svn log --stop-on-copy b1
Run Code Online (Sandbox Code Playgroud)

log然后只列出发生的提交b1.您将看到的最小修订号将是您的选择.

我从来没有使用过这种形式.我总是确保我积极参与分支b2,然后做了:

svn merge -r 13:HEAD url://to/branch/b1
Run Code Online (Sandbox Code Playgroud)


Dan*_*den 6

SVN的合并基准页面Subversion的书:

$ svn merge --reintegrate \
            http://svn.example.com/repos/calc/branches/my-calc-branch
--- Merging differences between repository URLs into '.':
U    button.c
U    integer.c
U    Makefile
 U   .

$ # build, test, verify, ...

$ svn commit -m "Merge my-calc-branch back into trunk!"
Sending        .
Sending        button.c
Sending        integer.c
Sending        Makefile
Transmitting file data ..
Committed revision 391.

编辑:好的,所以你使用旧版本的Subversion.在这种情况下,请参阅本书1.4版中将整个分支合并到另一个分支.

  • 我也有svn版本1.4.4,它似乎不支持reintegrate选项.因为这似乎是更长命令的捷径,我会欣赏更长的版本.谢谢! (2认同)