正如标题所说,这是我的版本序列。我正在使用Tortoise SVN客户端。存储库是网络共享上的文件。
我有Trunk
和Branch
个文件夹
我从Branch
检出并进行了大量修改并重新检入Branch
但是,由于不熟悉与Trunk
的合并,我总是直接从Branch
将我的好项目代码发布到生产中。
最后一次发布是3个月前发布的。修订版为380.
我的开发版本现在是400.
上周我不得不修复R380
中的一些错误。所以我检查了R380
并修复了错误并再次释放它
但是,我需要将所有代码都添加到开发版R400
中,但我不想消除我最近3个月的工作量。
此外,R400
中有一些我无法检查的错误部分代码。有人能告诉我如何正确完成此操作吗?
我制作了一个Bugfix文件夹并尝试将R380
检入该文件夹,但SVN客户端不允许我SWITCH
或RELOCATE
。
它只允许我签入Branch
文件夹。我担心如果我检查修改后的R380
到Branch
文件夹,它会清除我的R400
版本。谢谢。
答案 0 :(得分:1)
如“Subversion feature branch requires changes from another feature branch”中所述,您只能将精确的修订范围合并到您的分支中
您可以trunk
对r380
中所做的修改进行generate a patch
如果需要,您可以先从Branch
创建一个临时分支,删除您不想要的错误部分,然后生成所述补丁,并将其应用于“svn diff -r448:449 > ~/global.patch
patch -p0 < ~/global.patch
”。
{{1}}
(虽然问题“How to make svn diff produce file that patch would apply, when svn cp or svn mv was used?”报告了一些不起作用的案例,特别是如果分支之间存在属性更改)