如何合并两个SVN分支?

时间:2009-09-03 04:25:11

标签: svn merge

我签出了两个SVN分支,“b1”和“b2”。我想将所有提交从“b1”分支合并到“b2”分支。我尝试过像

这样的东西
svn merge -r HEAD:HEAD b1 b2

但它什么也没做。我确信我的命令错了,但我找不到好的文档。我想在客户端执行此操作,而不是创建第三个分支。

我正在使用SVN 1.4.4,它不支持reintegrate选项。

我该怎么做?

2 个答案:

答案 0 :(得分:18)

您的问题是-r标志。您必须指定修订的范围。例如:

svn merge -r 13:HEAD b1 b2

要找出正确的修订号,您可以这样做:

svn log --stop-on-copy b1
然后

log将仅列出b1上发生的提交。您将看到的最小修订号将是您的选择。

我从未使用过此表格。我总是确保我积极地分支b2上,然后做了:

svn merge -r 13:HEAD url://to/branch/b1

答案 1 :(得分:6)

来自reference page for svn merge中的the Subversion book

$ 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。在这种情况下,请参阅Merging a Whole Branch to Another中的version 1.4 of the book