我们想为不同的客户创建我们软件的定制版本。这些自定义版本可以或多或少地自定义,因此较小的文件可能有 10 个更改的文件,较大的文件可能有数百个更改的文件。由于可能存在大量自定义版本,因此不想复制/分支整个项目,而只想将更改的文件添加到自定义版本文件夹中。结构可能如下所示:
standard version:
- foo
- bar
- Class1
- Class2
- Class3
custom version x:
- foo
- bar
- Class1
custom version y:
- foo
- bar
- Class2
- CustomClassY
在构建项目时,我们会先检查标准版本,然后检查自定义版本,用自定义覆盖标准文件。然后编译、安装、测试等。
我的问题是:这是一个可用的概念吗?有人部署过这个吗?有哪些障碍?还有哪些选择?
想到的一种替代方法是创建一个传统分支,但定期合并标准版本的更改。也许这可以自动化,以便构建服务器每晚在进行完整构建之前合并更改?