我签出了两个SVN分支,“b1”和“b2”。我想将所有提交从“b1”分支合并到“b2”分支。我尝试过像
这样的东西svn merge -r HEAD:HEAD b1 b2
但它什么也没做。我确信我的命令错了,但我找不到好的文档。我想在客户端执行此操作,而不是创建第三个分支。
我正在使用SVN 1.4.4,它不支持reintegrate选项。
我该怎么做?
答案 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。