0

我陷入了僵局。我们是一家与医疗保健相关的产品开发公司。我们使用的是SVN版本控制系统。我们有多个客户,每个客户都有一个专门的开发分支。客户分支总是从主干分支。我们使用主干作为我们的高级客户之一的开发分支,比如说 PC1。

现在我们向 PC1 发布了一个名为 PDT_5.0 的产品版本。发布发生在发布分支 PDT_5.0,它最初是从主干分支出来的。

与 PDT_5.0 版本相关的错误修复已经开始出现。同时客户要求我们承诺在几个月内提供一些小功能。新功能已在主干中开发。然而,在上线之前,新功能必须经过 QA 测试,并且必须得到客户方的批准。

现在死锁:PDT_5.0 已经上线。错误修复正在 PDT_5.0 的发布分支中进行。功能开发完成。这必须经过 QA 测试。但是,我们不能等待 QA 完成测试然后发布,因为必须尽快发布来自实时的紧急错误修复。我完全迷失在这里。

问题是我不想从主干分支,因为功能太小了。

4

1 回答 1

0

有了一个描述的过程,我没有看到任何其他方法,而不是从您的主干和发布分支到客户的分支中进行所需功能和修复的选择性合并(AKA 挑选)。

展望未来,如果您拥有基于客户特定功能和分支的业务模型,您需要改变交付更改的方式。

第一种选择是您要求您的销售人员不要承诺在正式发布之前提供功能。严重地。只需说“伙计们,感谢您销售我们还没有的功能,但请不要做出任何额外的部署承诺”。这样,您将保持发布简单明了:主干 -> 发布分支 -> 客户分支。之后,您的开发团队将特定更改从一个旧分支迁移到一个新分支。

否则,当您必须来回集成错误修复直到您将自己埋在等待集成的大量增量中时,您应该调整您的流程以满足这一新现实。

我希望它有帮助...

于 2012-05-12T05:03:22.727 回答