如何使用Mercurial管理多个版本的产品?

Rob*_* S. 4 mercurial

我公司的产品是基于模块的,这意味着我们提供五个基本模块,用户可以购买额外的模块.我们使用的Mercurial是我们相对较新的源代码控制器,由于我们已经发布了1.0产品,因此管理单独的模块开发一直是个噩梦.

我们希望能够在不必等待特定模块开发完成的情况下发布小错误修正更新,因此对于一切的一个回购不能很好地工作.我读到了分支,但权威指南似乎表明分支是暂时的,并且与之合并很困难.

理想情况下,我们有一个基础仓库是产品,然后是不同的回购(或分支)与额外的模块,因此QA可以单独构建主要产品和主要+插件,而在ModuleA上工作的开发人员不影响开发BugfixB的开发人员.我尝试了多个subrepos,但最终破坏了我的存储库.

我应该考虑使用命名分支吗?还是书签?

我正在寻找关于如何利用Mercurial功能来简化此过程的最佳实践建议.

谢谢!

Rud*_*udi 6

http://nvie.com/git-model上提供了一个关于分支的好教程.重点是要有

  • 发布分支,仅包含已完成的发布/错误修复分支的合并
  • 错误修复或功能的开发分支
    • 拥有长期特色的分支机构

此外,还有关于mercurial分支机构技术差异的参考资料,请访问http://stevelosh.com/blog/2009/08/a-guide-to-branching-in-mercurial/