源控制 - 每个产品都需要单独的分支吗?

Ben*_*een 6 svn version-control tfs branch

假设您有四种产品,每种产品都有自己的发布时间表.每种产品都有50%的共享代码(所有产品的通用功能)和50%的产品特定代码.

您是否需要为每个产品单独的源控制分支?是否应始终在四个产品分支之一中开发通用功能,并在以后合并到其他产品中?

典型场景:产品A将在下个月发布,需要核心(共享)增强1,产品B将在四个月内发布,并需要核心(共享)增强2(需要三个月才能完成).

Chr*_*isW 1

在我看来,这是我读过的关于分支的最好的文章之一:面对敏捷开发、极限编程、团队协作和并行发布时的分支和合并

我想我想避免耦合两个项目的分支(以及时间表):因此,不要在其中编辑通用功能并编辑多个产品的单个分支,也许是以下两个产品之一备择方案:

1) 独立于任何产品开发通用功能

  • 分支通用功能
  • 添加到它
  • 对它进行单元测试
  • 将其提交回主线
  • 为其创建特定于产品的分支(主线)并在产品中使用它

2)开发一种产品的通用功能

  • 建立产品分支
  • 在产品分支中,向公共库以及特定于产品的组件添加新功能
  • 对它进行单元测试和系统测试并将其提交回主线
  • 创建新主线的分支,在其中使用其他产品中新提交的通用功能