我如何合并两个SVN分支机构?

我有两个svn分支,“b1”和“b2”。 我想将我所有的提交从“b1”分支合并到“b2”分支。 我试过类似的东西

svn merge -r HEAD:HEAD b1 b2 

但它什么都不做。 我相信我有这个命令错了,但我找不到好的文档。 我想在客户端做到这一点,而不是创build第三个分支。

有任何想法吗?

谢谢!

你的问题是与-r标志。 你必须指定一系列的修订。 举个例子:

 svn merge -r 13:HEAD b1 b2 

要找出正确的版本号,你可以这样做:

 svn log --stop-on-copy b1 

log将只列出发生在b1上的提交。 你会看到最小的版本号将是你的select。

我从来没有使用过这种forms。 我总是确保我分支b2 积极工作,然后做到:

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

“svnmerge”或“svnmerge.py”命令可以帮助解决这个问题。 请注意,这是一个不同于“svn merge”的命令。 有关更多信息,请参见svnmerge.py Wiki页面,包括如何使用它的详细信息,快速入门指南等。

我用它来pipe理一个特定版本库的多个签出之间的合并,在这里我修改了一个版本,然后将这个分支的更改合并到另一个分支,这个分支可能会有自己的更改,而这些更改没有合并回来。 对于这个用法,svnmerge.py非常有用。

肖恩