这是此discussion(link)的后续问题,其中陈述以下断言:
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 在之前发生。因此,实现起来并不困难根据主分支上发生的集成顺序生成序列号的功能。这个数字将具有很大的实用价值。
答案 0 :(得分:1)
不,Gerrit无法生成可以反映任何分支中变更总顺序的版本号。
你在这里采取了错误的方法......不要试图"迁移"您在Subversion to Git / Gerrit中使用的过程/过程。 Git是一个不同的工具,你也需要以不同的方式使用它。
您需要使用标记来标记版本。
有关详细信息,请参阅this link。