克隆/分支以修复错误并通过Mercurial中的多个版本进行合并

时间:2017-10-08 17:39:58

标签: merge mercurial

我想用Mercurial实现以下工作流程:

使用默认分支中的7.4版

在7.1中找到错误(7.2使用不同的数据库布局,因此我想基于7.1快速修复错误),分支或克隆到错误修复程序。

发布7.1.1

现在我的问题是我想将错误修正更改合并到7.2,直到当前开发(7.4)。我只找到了与current合并的方法,但是在没有7.1.1修复的情况下留下了7.2和7.3。 我该如何设置我的回购?

2 个答案:

答案 0 :(得分:2)

典型的布局是您拥有开发新功能的默认分支。

从默认分支开始,您可以定期分支各个主要版本分支(因此在您的情况下为7.1,7.2,7.3 ......)。

如果您现在遇到错误,请将其修复到存在的最旧版本,因此7.1分支中修复了影响7.1.x版本的错误。然后在每个其他分支中合并7.1分支,它也需要修复,因此可能是7.2,7.3,7.4和默认(=开发)分支。由于所有分支都有一个比最旧的分支更新的基础(并且你在那里修复),所以不会合并任何旧东西(你的合并工具应该认识到这一点)。

如果您不想合并,可以使用移植来简单地将修复复制到其他分支。

答案 1 :(得分:1)

一个选项,使用hg graft。像合并一样工作,但会保持分支机构的开放。