Svn 必须同步并集成到主干的并行版本分支

Svn 必须同步并集成到主干的并行版本分支,svn,Svn,我需要在另一个分支(alpha)中开始一个分支(beta),您可以将其视为基于alpha版本的beta版本。这两个分支将与主干合并,首先是alpha分支,然后是beta分支 选项1:从主干创建alpha分支,然后从alpha创建beta分支。Beta将定期使用alpha的变更集进行更新,因为Beta必须包含alpha的所有功能(第1点和第2点) /----β-/(1)-β-/(2)-β-------\ / / / \ /---

我需要在另一个分支(alpha)中开始一个分支(beta),您可以将其视为基于alpha版本的beta版本。这两个分支将与主干合并,首先是alpha分支,然后是beta分支

选项1:从主干创建alpha分支,然后从alpha创建beta分支。Beta将定期使用alpha的变更集进行更新,因为Beta必须包含alpha的所有功能(第1点和第2点)

/----β-/(1)-β-/(2)-β-------\ / / / \ /------------阿尔法--/--/--\ / \ \ ------------主干------------------------------------------> 选项2:从主干创建alpha,然后从主干创建beta。使用alpha的更改更新beta,使两者具有相同的功能(第3点)。此后,测试版将定期使用alpha的变更集进行更新,因为测试版必须包含alpha的所有功能(第4点和第5点)

/--/(3) --贝塔系数----/(4)--/(5)---贝塔系数-----\ / / / / \ /-------o——/——阿尔法——/——阿尔法————\ / / \ \ ----------------主干-----------------------------------------> 两个分支将合并回主干


哪个选项更好?

选项1,因为在这种情况下,它消除了不必要的从alpha到beta的合并,并且与逻辑相关的物理路径在将“beta”与主干集成时不会出现问题,因为“beta”从“alpha”而不是“主干”开始?不会在任何重新集成路径上出现任何问题-因为SVN将检测叶之间的更改,历史对此作业(几乎)为零,所以SVN将忽略祖先进行合并,就像应用补丁一样。我仍然担心在主干上合并“beta”时可能出现的冲突,因为以前在主干上合并“alpha”。SVN处理这个问题?SVN将使用公共祖先作为两个版本的参考点。检测到预应用的修补程序,但未再次应用(至少在我与CI的不同合并中) /----beta---/(1)---/(2)-----beta-------\ / / / \ /------------alpha--/------/---\ \ / \ \ ------------trunk----------------------------------------------> /--/(3)--beta----/(4)--/(5)----beta-----\ / / / / \ /-------o--/--alpha------/-----/---\ \ / / \ \ ----------------trunk------------------------------------------->