我们正在从CVS转换为Mercurial hg。
我们的基础架构是Windows 2003 / IIS6
这是我到目前为止所做的:
在我的机器上,开发服务器上和登台服务器上安装了Mercurial。
对于过去的发展,我们总是分享一个分支,不理想,但合并是一种痛苦,我们从不打扰和处理它。
现在,如果我理解正确,我们应该这样做:
本地
需要紧急修复错误,使用影响SAME文件作为我们的功能
DEV
暂存(QA需要在测试feature1之前签署重要的错误修正
这种方式有意义吗?我是不是让事情变得复杂,以后会不会惹恼我?
答案 0 :(得分:4)
看起来你的概念很好,但是你有一些奇怪的问题和一些问题,我会在下面列出它们:
hg parents
返回的任何内容,这始终是您hg update
编辑的任何内容。hg push --rev bugfix1 -f
在新的(1.5+)版本的mercurial中不需要-f
。从历史上看,警告“你正在创建一个新头”通常意味着你忘了合并,但现在如果新头是一个新的命名分支,警告就会被抑制。请记住,合并也是编码 - 合并的人正在做出应该和不应该做的选择。质量保证人员可能有能力,但这是开发人员的工作。另外,为什么要两次呢?通常的切换就是“QA,pull revision 897a9d9f9a7和测试请 - 开发人员”。如果你想得到想象,你可以有一个像'readyforQA'这样的标签,开发人员随着它们前往'默认'分支(在这个例子中,他们在{3}和第5步之后hg tag
让QA知道有新东西要拉。
我给你的一条建议就是不要试图过度设计这个过程。 DVCS导致了一种随意的工作方式,起初有点吓人,但往往会有所成效。你会发现子团队和一对人都有你从未知道的克隆,并且最终只要你有一些坚定的规则,例如“没有先通过QA就没有生产”,其余的工作本身就可以了。