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