如何合并两个 svn 分支?

如何合并两个 svn 分支?

我签出了两个 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 工作得非常好。

肖恩

相关内容