如何将特定主干修订及其后续编辑移动到分支?

时间:2011-09-29 17:31:01

标签: svn branch

我们意识到我们希望干线中的某些工作实际上已经存在于分支中。我们希望有几个提交进入分支,最好是保留提交的历史。所以:

r0 --- r1 --- r2 --- r3

会变成

          branch --- r2 --- r3
         /
r0 --- r1 ----- *

“*”是我们开始向主干提交新提交的地方。我很紧张,如果我做错了,我会破坏我们的存储库。请指教,谢谢!

1 个答案:

答案 0 :(得分:2)

基本上,trunk的当前状态对分支来说是好的,所以你应该从svn copy到所需的trunk子目录中执行服务器端branches

svn copy svn://path/to/trunk svn://path/to/branches/foo -m "Creating branch Foo"

然后你需要将trunk恢复到r1,这可以通过从r1到r3应用反向补丁或者实际使用svn merge来轻松实现:

svn merge r3:r1 svn://path/to/trunk

编辑:实际上,这里有一个更好的解决方案:How do I properly branch post-commit and revert the trunk in svn?