wad*_*des 3 svn branching-and-merging
所以我有这个项目在2个版本中进行并发工作,即trunk和branch1.在某些时候我被告知"不要为rel1做更多的构建,修复rel2中的那些bug." 所以我在branch1中制作了也适用于trunk的错误修正.后来我被告知"如果我们将rel1与那些已知的错误相关联,那将是一个很大的PITA.请在rel1中修复它们."
所以,我的问题是(〜/ rel1是主干的当前未经修改的工作副本.RevM,RevN是branch1中的修订号,用于我想要合并回主干的一系列修订):
如果我做了
cd ~/rel1
svn merge -r RevM:RevN ^/branch1
Run Code Online (Sandbox Code Playgroud)
它将如何影响svn merge --reintegrate
从分支到后备箱的后期?请记住,之前在branch1中有修订版,RevM
之后会有更多版本RevN
.特别是,当我最终重新整合时,是不是我最初在rel1中完成了修复并将它们合并到rel2中,这应该是首先应该做的?
从树枝到树干的樱桃采摘变化总是在扭曲我的思绪.这是一个适用于您的情况的解决方案,其诀窍是阻止樱桃选择的更改再次合并到分支中.
cd ~/rel1
svn merge -r RevM:RevN ^/branch1
svn commit -m "cherry pick RevM:RevN from branch1 into rel1"
Run Code Online (Sandbox Code Playgroud)
现在假设此提交已创建RevX.进入您的分支并使用该--record-only
选项阻止此修订从未来的合并操作.
cd ../branch1
svn merge -c RevX --record-only ^/rel1
svn commit -m "mark RevX as already merged to block it from future merge actions"
Run Code Online (Sandbox Code Playgroud)
现在,你应该能够从合并进一步的修改rel1
,以branch1
再次像往常一样,并重返你的支进REL1一旦你用它做.