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

时间:2018-03-23 13:17:08

标签: git gerrit

这是此discussionlink)的后续问题,其中陈述以下断言:

  

Gerrit Change Number 通常会单调增加   将新更改提交给Gerrit服务器进行审核。注意,   然而,由于不同的变化可能需要不同的时间   完成代码审查,无法保证更改   按顺序应用于主分支(或根本应用)。因此   可以使用较大的数字更改编号Y进行更改   在使用a进行另一次更改之前在master分支上生效   较小的数字更改编号X.换句话说,在主分支上,   当数字X和Y分别有两个变化时,X

我们的团队是从SVN迁移过来的,我们过去常常会有一个单调递增的数字(版本号),可以反映不同版本代码的总顺序。具体来说,我们可以告诉客户“您的软件安装是在X版本,但我们仅在Y(Y> X)版本中修复了该错误。所以请更新到Y或更高版本以修复错误。”

根据上述断言,我们不能为此目的使用Gerrit变更编号。所以这是我的问题:

Gerrit可以生成一个可以反映主分支中更改总顺序的版本号吗?

进一步讨论

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

但是,Gerrit的情况有所不同。 Gerrit是一个建立在git之上的系统,以促进集中的工作流程。有一个单独的主分支,并且有一个总命令用于在主分支上集成(即合并或重新绑定)的更改。如果在主分支上集成了两个不同的更改A和B,则A B之前发生,或者B 之前发生。因此,实现起来并不困难根据主分支上发生的集成顺序生成序列号的功能。这个数字将具有很大的实用价值。

1 个答案:

答案 0 :(得分:1)

不,Gerrit无法生成可以反映任何分支中变更总顺序的版本号。

你在这里采取了错误的方法......不要试图"迁移"您在Subversion to Git / Gerrit中使用的过程/过程。 Git是一个不同的工具,你也需要以不同的方式使用它。

您需要使用标记来标记版本。

有关详细信息,请参阅this link