合并svn要素分支以释放分支

合并svn要素分支以释放分支,svn,version-control,merge,Svn,Version Control,Merge,我有一个主干,我从中创建了一个发布分支(我已经完成了工作,已经提交)。在此之后,我从主干创建了一个功能分支,现在我准备使用svn merge--reintegrate在主干中重新集成它 然而,我意识到我需要在特性分支中实现的所有更改也在发布分支上实现。 在我看来,命令是 svn merge ^/feature_branch release_branch_local_pach 然后将特征分支重新整合到主干中 cd feature_branch_local_path svn merge ^/tru

我有一个主干,我从中创建了一个发布分支(我已经完成了工作,已经提交)。在此之后,我从主干创建了一个功能分支,现在我准备使用svn merge--reintegrate在主干中重新集成它

然而,我意识到我需要在特性分支中实现的所有更改也在发布分支上实现。 在我看来,命令是

svn merge ^/feature_branch release_branch_local_pach
然后将特征分支重新整合到主干中

cd feature_branch_local_path
svn merge ^/trunk && svn ci -m "sync of feature with trunk"
cd trunk_local_path
svn merge ^/feature_branch --reintegrate && svn ci -m "feature reintegrated in trunk"

对吗?我是否必须为第一个合并命令提供一些修订号?我使用的是svn 1.8.13,我从未在没有--reintegrate的情况下进行过合并。

我不确定第一次合并是否总是正确的。若您已经将同步从主干合并到分支,那个么它们也将被移动到发布分支,我建议这不是您想要的

可能更好的策略将仅合并选定的修订(樱桃采摘):

(其中100105107-应合并的修订)

而且,如果您想继续从发布分支合并到主干,您需要在主干中阻塞cherry pick result revision。假设您提交cherry pick作为修订版120,那么

svn merge -r 120 ^/release_branch trunk_local_pach --record-only
svn commit -m "Block revison 120 from remerge"

在这种情况下,当您下次尝试将发布分支合并到主干中时,subversion将不会第二次尝试合并修订版100、105、107(在重新整合合并期间第一次合并修订版)

您不再需要关心
--重新整合
。导致此标志的内部问题已在1.8中修复,因此不推荐使用。谢谢!供将来参考:我还没有将功能分支与主干同步,因此合并
svn merge-r100:107^/feature\u branch release\u branch\u local\u pach
有效。但我同意你的观点,一个cherrypicks的总和会更好,它将允许我将功能分支与主干同步。我不知道,只是记录而已,很高兴知道。也许我可以在重新整合后做cherrypicks(因为在这种情况下,功能分支几乎完成,准备重新整合)。
svn merge -r 120 ^/release_branch trunk_local_pach --record-only
svn commit -m "Block revison 120 from remerge"