【发布时间】:2009-09-07 16:33:19
【问题描述】:
我一直在阅读这里关于版本控制主题的所有问题,但我认为我没有找到一个看起来像我自己的场景。
场景是:
我们有一个中型/大型 Web 应用程序,它有(至少应该有)一个部署到所有客户端的核心。当我们向客户演示应用程序时,几乎所有客户都要求更改布局,或列表中的数据,或数据输入表单中的字段等......几乎所有这些更改都需要更改剩余的“应用程序的层”。
在我们目前的情况下,我们使用 CVS(与 tortoiseCVS)并且我们不使用分支,我们使用标签来区分应用程序的代码更改(是的,我知道这很糟糕)。当我们想要向特定客户发布版本时,这会带来很多问题,以及签入更改等......准备发布总是需要大约 1-2 天的工作,有时它仍然会中断。
有时,来自客户端的请求也会包含在核心中以分发给所有客户端。
所以我的问题是:分支是隔离对应用程序的自定义客户端版本的更改的最佳方式吗?每当新客户要求定制时,我们应该分支吗?还是我们应该将其视为一个完全不同的项目,具有不同的存储库?
必须维护所有不同的版本,而且我听说分支是“临时的”,我怀疑分支是否是最佳解决方案。
感谢您的回复。
安东尼奥·迪亚斯
【问题讨论】:
-
只想对所有回复表示感谢。即使这不是最好的策略,我也会尝试“客户分支”策略。每个客户端都有它自己的长期存在的分支,每个客户端都有它的“主”和“开发”分支。至少我认为它会比我们现在拥有的更好。谢谢大家。