发布 - >合并 - >检查

时间:2011-04-05 00:50:01

标签: svn merge version

正如标题所说,这是我的版本序列。我正在使用Tortoise SVN客户端。存储库是网络共享上的文件。

我有TrunkBranch个文件夹 我从Branch检出并进行了大量修改并重新检入Branch 但是,由于不熟悉与Trunk的合并,我总是直接从Branch将我的好项目代码发布到生产中。 最后一次发布是3个月前发布的。修订版为380.
我的开发版本现在是400.

上周我不得不修复R380中的一些错误。所以我检查了R380并修复了错误并再次释放它 但是,我需要将所有代码都添加到开发版R400中,但我不想消除我最近3个月的工作量。
此外,R400中有一些我无法检查的错误部分代码。有人能告诉我如何正确完成此操作吗?

我制作了一个Bugfix文件夹并尝试将R380检入该文件夹,但SVN客户端不允许我SWITCHRELOCATE。 它只允许我签入Branch文件夹。我担心如果我检查修改后的R380Branch文件夹,它会清除我的R400版本。谢谢。

1 个答案:

答案 0 :(得分:1)

如“Subversion feature branch requires changes from another feature branch”中所述,您只能将精确的修订范围合并到您的分支中 您可以trunkr380中所做的修改进行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?”报告了一些不起作用的案例,特别是如果分支之间存在属性更改)