为不同客户定制的项目采用什么版本控制策略?

时间:2011-09-21 19:56:12

标签: web-applications branch cvs branching-strategy

我很好奇其他人应用于java项目(Web应用程序)的源版本控制策略,这很可能会为多个客户进行自定义。

该项目将有一个标准版本,但对于一些客户,将有一些自定义(在不同的分支上)。

通过阅读这个帖子: What branching strategy should I use during the development/maintenance of a web application? 我想“分支发布”适合开发项目的标准版本。

现在,在客户分支机构工作时,对代码执行了一些改进/错误修正,其他客户/标准版本将从中受益,这意味着对于每个分支机构,将有合并和要进行测试以保持最新状态。

作为约束,对于这个项目,我们坚持使用CVS作为源版本控制系统。

对于构建的工件的版本控制,我们将使用maven(依赖:artifactId,groupId,版本,分类器 - 客户名称 - 以便清楚地区分工件)。

1 个答案:

答案 0 :(得分:1)

我建议为每个客户创建一个分支,并为每个功能创建一个分支,并让您的主干代表您的“标准版本”。

任何小错误修复都会合并回主干,然后传播到所有分支。对于新功能也是如此,因为您将它们合并回主干并杀死分支。

您的所有客户分支机构都将长寿,您可以在那里进行客户特定的定制,并从这些分支机构中释放。