我会做以下事情:
将您发布的修订标记为 v1.0
hg update -r <revision that's 1.0>
hg tag v1.0
hg ci -m 'Created V1.0 Tag'
为任何将在此之上的错误修复创建一个分支。这可能是在您发布 V1.0 时,或者当您对其进行了第一个错误修复时。
hg update v1.0 (or ideally the revision that added the V1.0 tag if it's immediately after V1.0)
hg branch release_v1
<Possibly do bug fix>
hg ci
回到默认分支继续开发 v2。
hg update default
<carry on working>
当您有 v1 的错误修复时
hg update release_v1
<do bug fix>
然后合并从 v1.x 到 v2.x 的前向错误修复
hg update default
hg merge release_v1
hg ci -m 'Merged V1 bug fixes into V2'
您在发布新版本时创建新标签。该release_v1
分支继续运行,积累错误修复,并default
在必要时合并到(您的开发分支)中。只需确保您在合并时位于默认分支上,因为这决定了合并更改集具有的分支名称。
编辑补充说,这是其他人提到的stable
/default
工作流程的一种变体,但我喜欢为每个主要版本都有一个分支,因为这样我就可以有多个主要版本接受错误修复。