代码之家  ›  专栏  ›  技术社区  ›  leeyuiwah

Gerrit中反映主分支上总订单的版本号?

  •  0
  • leeyuiwah  · 技术社区  · 6 年前

    这是一个后续问题 discussion ( link ),其中陈述了以下断言:

    A. Gerrit变更编号 通常是单调递增生成的 将新更改提交给Gerrit服务器进行审查。笔记 然而,由于不同的变化可能需要不同的时间 完成代码审查后,无法保证更改将 按顺序应用到主分支(或完全应用)。像这样的 可以使用较大的数字更改编号Y进行更改 在使用 较小的数字更改号X。换句话说,在主分支上, 当数字X和Y分别发生两次变化,且X<Y 不能保证X发生在Y之前。

    我们的团队是从SVN迁移过来的,在SVN中,我们曾经有一个单调递增的数字(发布编号),可以反映不同版本代码的总顺序。具体而言,我们可以告诉客户“您的软件安装在版本X,但我们只是在版本Y(Y>X)中稍后修复了该错误。因此,请更新到版本Y或更高版本以获得错误修复。”

    根据上述断言,我们不能为此目的使用Gerrit Change Number。所以我的问题是:

    可以 Gerrit 是否生成可以反映主分支中变更总顺序的版本号?

    进一步讨论

    我明白这一点 git ,本身并不保证 总订单数 在提交集合中。只有一个 部分订单 --每个提交都有一个或多个父级,因此也有祖先,但两个提交J和K既不能是彼此的后代,也不能是彼此的祖先(即没有 发生在之前 二者之间的关系)。

    然而,情况与 格里特 格里特 是建立在 吉特 促进集中的工作流程。有一个singleton master分支 总订单数 对于在主分支上集成(即合并或重定基础)的更改。如果主分支上集成了两个不同的更改A和B,则 发生在之前 B、 或B 发生在之前 A、 因此,实现基于主分支上发生的集成顺序生成序列号的功能并不困难。这个数字将有很大的实际用途。

    1 回复  |  直到 6 年前
        1
  •  1
  •   Marcelo Ávila de Oliveira    6 年前

    不,Gerrit无法生成能够反映任何分支中更改总顺序的版本号。

    你的方法不对。。。不要试图将Subversion中使用的流程/过程“迁移”到Git/Gerrit。Git是一种不同的工具,您也需要以不同的方式使用它。

    您需要使用标记来标记发布。

    看见 Git - Tagging 了解更多详细信息。