TortoiseSVN / Subversion - 分支到主干的定期合并

时间:2010-12-21 16:03:17

标签: svn version-control tortoisesvn merge

我们公司最近使用TortoiseSVN作为客户端将版本控制系统切换到SVN,以便于使用敏捷开发方法。我们的SVN存储库有多个来自主干的分支,每个sprint一个。我们通常做“保持分支最新的主干然后重新整合分支”的方法。但是,有时需要将分支中的更改移植到主干或其他分支! (像错误修复)。我们有一个不断开发的错误修正分支(如果可能的话我想保留它一个分支,所以主干可以保持“纯粹”)。

如果我定期将一系列修订从分支合并到主干,然后在完成我们的错误修正集后重新集成分支到主干,这会有效吗?我不想双重合并。从来没有做过重新整合合并而只是继续做一系列的修改会更好吗?我们正在使用SVN 1.6。

2 个答案:

答案 0 :(得分:6)

  

如果我合并了一系列修订版   然后定期分支到主干   当我们的时候重新整合分支到主干   一套错误修正完成了,这个   工作?

是的,它会起作用。

  

我不想双重合并。

由于您使用的是Subversion 1.6,只要svn:mergeinfo property未被篡改,Subversion就会跟踪已合并的更改,并仅合并那些尚未合并的更改。

  

永远不会做得更好   重新融合而不仅仅是合并   继续做一系列的修改?

你可以做任何一个。但我建议进行重新整合合并,除非您将补丁或热修复移动到主干或其他分支。

关于从分支到分支合并时的补丁或热修复的一个注意事项:如果热修复或补丁具有新对象(文件和/或目录),请注意。有时这些可能导致树冲突,在分支被释放后合并或重新集成可能会很痛苦,移动到主干,然后从主干更新另一个分支。 Subversion 1.6.x和相关客户端在合并过程中处理此问题,但较旧的客户端则不会。

答案 1 :(得分:1)

两个问题:

  • 您是否在一个发布周期中运行多个不相关的冲刺?

  • 您是否在每个发布周期结束时将发布标记为上次发布的生产版本?

如果您对第一个问题的回答是肯定的,那么从分支到主干的多个分支和定期合并是有意义的。如果你定期或每个版本标记版本,它可能会使多余的运行分支并将trunk作为“前沿”开发版本,包括错误修正。因人而异。