我签出了两个 svn 分支,“b1”和“b2”。我想将“b1”分支中的所有提交合并到“b2”分支。我尝试过类似
svn merge -r HEAD:HEAD b1 b2
但它什么也没做。我确信这个命令是错的,但我找不到很好的文档。我想在客户端执行此操作,而不是创建第三个分支。
有任何想法吗?
谢谢!
答案1
你的问题出在-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
答案2
“svnmerge”或“svnmerge.py”命令可以帮助解决此问题。请注意,这与“svn merge”命令不同。更多信息请访问svnmerge.py Wiki 页面包括如何使用它的详细信息、快速入门指南等。
我曾用它来管理一个特定存储库的多个签出之间的合并,我在一个存储库中进行更改,然后将该分支的更改合并到另一个分支,而另一个分支可能也有自己的更改,但不会合并回去。对于这种用法,svnmerge.py 工作得非常好。
肖恩