如何在具有HGFLOW的多个分支中开发



我正在评估hgflow。该模型满足我的大多数版本控件需求,但我无法弄清楚如何支持多个版本。

假设我一段时间以前发布了V1.0,刚刚发布了V2.0,并且自开始以来我一直在使用HGFLOW。仍在v1.0中的客户请求要实现功能。由于v1.0的稳定性,他不想升级到v2.0或v3.0。

使用广义流概念:

  • Hg流量发展开始1.x(创建/1.x)
  • HG流量开发/1.x:释放启动1.0(从开发/1.x创建/1.0)
  • hg流量开发/1.x:释放饰面(关闭版本/1.0,并在主上创建V1.0)
  • 重复2.x&2.0,因此v2.0标签是在v1.0标签之后在主上创建的
  • 收到增强1.x的请求
  • HG流量/1.x
  • 努力增强
  • Hg流量开发/1.x:释放启动1.1(从开发/1.x创建释放/1.1)
  • hg流量开发/1.x:释放饰面< --- v1.1标签是在Master
  • 上的v2.0标签之后创建的。

如果我遵循HGFLOC模型,则可能会在主流中的v2.0标签之后创建一个v1.1标记。更糟糕的是,v1.1中的更改可能会覆盖我在v1.0到v2.0之间所做的各种增强。

我的问题是:有人可以建议解决我的问题吗?任何建议将被赞赏。谢谢。

您想用于这种情况的工作流与 support 流有关:

hg flow master                       # Update the workspace dir to the master branch.
hg flow support start 1.x -r v1.0    # Create a support/1.x branch from v1.0 snapshot.
hg flow support/1.x start feature1   # Create a support/1.x/feature1 branch.
...                                  # Commits to implement feature1
hg flow support/1.x finish           # Finish feature1. Changes in support/1.x/feature1 will be merged into the support/1.x branch.
hg tag v1.1                          # Create support releases in the support/1.x branch.

您支持1.x版本的所有更改都在支持/1.x分支中,概念通常不会合并到其他流。