【发布时间】:2011-07-15 00:04:27
【问题描述】:
我们将换成 Mercurial。 我们计划中缺少的一部分是如何管理构建到 Test Box(和 LiveBox)的分支/合并,以便可以将独立功能与 StableRelease 混合并构建到 TestBox。
例如,似乎主要的用法是拥有
- DefaultStableBanch
- 测试组
- FeatureA 分支
- FeatureB 分支
FeatureA 和 FeatureB 的开发将同时进行。看起来主要的用途是克隆带有上述分支的存储库。
场景 1:如果我们构建测试,我们将合并 LiveCode+FeatureA+FeatureB。如果一切顺利,那么我们可以将上游的变更集合并到 DefaultStable 分支,并使用 FeatureA 和 FeatureB 构建到 LiveBox。工作完成。
场景 2:如果我们构建测试,我们将合并 LiveCode+FeatureA+FeatureB,并且 QA 显示 FeatureB 存在问题。我们不想再构建 FeatureB。我们确实希望推进 FeatureA。我们想自己重新测试 FeatureA 并让 QA 通过。然后将其发布到 Live,从而实现业务敏捷性。
问题:
如果 FeatureB QA 失败,我们需要从 Test 分支中取出 FeatureB 变更集节点,再次构建到 TesBox,然后希望然后将上游合并到 DefaultStable 分支到 LiveBox。
从 TestBranch 中删除 FeatureB 变更集节点的最佳方法是什么,因为 1. 我们需要在 FeatureB 上进行更多开发,而 FeatureB 节点集尚未完成。
2. 我们需要隔离 DefaultStable+FeatureABranch 并构建它来测试
其他人是如何管理这个的?
【问题讨论】:
-
您是在 A 存在时预见到 B 的问题,还是 B 本身存在问题?还是两者兼而有之?
-
我试图防御 A 中的一个 Bug,A 的开发人员没有看到。但是,由 B 中的一些代码修复。因此,将 A 和 B 一起交付测试不会显示错误。释放 A 自行测试将显示该错误。也许对其他人来说似乎不太可能但是,ORM dal 在 A 和 B 之间共享,并且......聚合根是重要的共享代码片段,它们一直在处理可能导致这种情况的代码。此外,SQL 构建文件等...
标签: testing mercurial merge branch