我有两个SVN分支,"b1"和"b2"。我想将所有在"b1"分支上的提交合并到"b2"分支上。我尝试了一些类似于
svn merge -r HEAD:HEAD b1 b2
但是它什么也没做。我肯定我的命令写错了,但是我找不到好的文档来解释它。我想在客户端上完成这个操作而不创建第三个分支。
我正在使用不支持reintegrate选项的SVN 1.4.4。
我该怎么做呢?
你的问题出在 -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
$ svn merge --reintegrate \ http://svn.example.com/repos/calc/branches/my-calc-branch --- 将库URL之间的差异合并到'.'中: U button.c U integer.c U Makefile U . $ # 构建,测试,验证... $ svn commit -m "将my-calc-branch合并回主干!" 发送中 . 发送中 button.c 发送中 integer.c 发送中 Makefile 正在传输文件数据 .. 提交了版本 391。
编辑: 好的,那么您正在使用旧版本的Subversion。在这种情况下,请参阅将整个分支合并到另一个分支,该内容来自书籍的1.4版本。