以前的历史:我使用SVN的最后几年。 发布软件项目的新版本包括以下步骤:
为新版本创建一个分支:/repo/branches/0.1 让代码进入一个值得释放的状态 为候选版本创建一个标签:/repo/tags/0.1-RC1 为RC1创建分支以修复错误:/repo/branches/0.1-RC1 为新候选版本创建标签:/repo/tags/0.1-RC2 {...} 为最后一个RC:/repo/tags/0.1创建一个v0.1标签 将0.1合并到主干中 据我所知Mercurial看到分支和标签与SVN略有不同,这最终导致我的问题:
我是否为发布创建分支(和标签)? 如果没有的话:还有什么要Mercurial为我归档类似于描述的开发模式/循环的东西?
你可以很容易地继续使用这种方法。 我不确定你需要一个单独的RC1分支,但我想有很好的理由。
Mercurial中存储标签的方式有点麻烦,它是一个逐个列出它们的版本化文件。 结果,标签创建构成了变更集。 你应该努力在一个分支上保留所有这种创建标签的变更集,否则你将会遇到合并冲突(这很容易解决,但是令人讨厌)。
您可以使用旧的工作流程,但是:
每个版本的分支真的需要(在任何SCM中),只有当你必须同时在生产中保留一些数量(> 1)的版本时,gor单个维护版本不需要分支树 我看到很多(相当复杂的)项目,它们使用双分支方法(“稳定”只有合并集和标签+“发展”每天的发展(短期分支每任务也是可能的,但它是比“必须”更多的品味和习惯问题)
链接地址:
http://www.djcxy.com/p/37537.html
上一篇:
Mercurial: Branching for releases?
下一篇:
Can I clone part of a Mercurial repository?