颠覆中的多功能开发分支

时间:2011-02-23 04:49:40

标签: svn build merge branch

天儿真好,

可以使用subversion实现以下策略吗?

  1. 包含应用程序生产版本的稳定主干
  2. 一个单独的开发分支,其中包含多个功能
  3. 使开发分支与stable trunk保持同步
  4. 个人功能从开发分支合并/复制到主干,因为它们已投入生产准备
  5. 想要2.的原因是我们还需要一个“早期发布”版本,它包含当前正在开发的所有功能。

    标准的feature branch模式是不够的。分支包含单个功能,应在功能合并到稳定中继后删除。我已经读过你可以merge --reintegrate之后继续使用分支,但不建议这样做。

    我想知道(文件系统)是否可以将开发分支中的各个功能复制到主干的工作副本(构建,测试,提交,然后立即将分支与主干同步)?同步会导致冲突,但很容易解决。

    谢谢,
    克里斯。

2 个答案:

答案 0 :(得分:1)

您可以根据需要制作多个分支,名称“trunk”和“feature”没有什么特别之处。在你的情况下,我会说制作几个功能分支,可能以你的跟踪器中的功能票项命名。

答案 1 :(得分:0)

是的,你的策略可以用subversion实现。但由于您必须在merge命令中列出与要合并的功能相关的所有提交(或提交范围),因此效率非常低。

更好的策略是使用单一功能分支。您可以拥有任意数量的分支,并可以随时单独合并它们。并且您不必在执行此操作时列出提交,因为您通常会合并每个分支的整个更改集。

人们经常争辩说,由于难以合并,因此应该避免分支。但是,从多功能分支中挑选樱桃更令人不快。