在我们公司,我们构建了一个数据集成工具,并已出售给多个客户。大多数客户都有不同的要求。我们通过使用基于继承的自制机制实现了这些客户特定的扩展(因此每个安装都知道要加载哪些类,哪些不加载)。但是所有这些客户特定的代码仍然与标准代码在同一个代码库中。
现在,这不再可能有几个原因(代码库变得丑陋和庞大,需求冲突等)
出于这个原因,我们决定将代码库分开:一个用于标准产品,几个用于客户特定的代码库。
我现在正试图找到一个支持这种方法的版本控制系统。这是我的愿望清单:
- 支持不同版本的多个“标准”代码库
- 1.0 版本
- 1.1 发布
- 2.0 测试版/开发
- 支持多个“客户”代码库
- 通过克隆标准代码库创建客户代码库的能力
- 更改客户代码库中标准代码的能力
- 能够使用新的标准版本更新客户代码库(并以某种方式标记来自客户代码库中更改的标准代码的冲突)
由于我们的团队还很小(约 4 名程序员),开发人员自己也应该很容易处理。
顺便说一句,我们的软件是使用带有STS的Spring构建的(因此,Eclipse 插件也会很棒)。
到目前为止,我研究过的所有 VCS 似乎都有构建一个软件的目标——而不是几个。我希望有一些建议或最佳实践方法。