Gerrit:基于不同分支往同一分支上提交遇到的一个问题

MuYusen 于 2023-08-03 发布 本文总阅读量

现象

使用Gerrit做代码评审时遇到的一个问题,现象是:一个项目分支上出现了另一个项目分支的大量代码,但是在Gerrit web页面上看不到merge的提交。

怎么发现的

不同版本作diff,发现一个项目分支上有另一个项目分支的代码。

原因

直接原因

研发人员的提交代码不规范,而代码评审操作也太过简单(没有发现问题)。

研发人员同时参与了两个项目,但是提交代码是图方便(代码下载慢、机器空间不够……),基于A项目的代码,往B项目的分支上提交

这样操作可以提交上去,但是Gerrit Web上会有两个提示:

如果提示了merge confilict,这样就只能重新做提交,不会出现问题;而第一种原因,如果直接+1、+2、submit,就极有可能出问题。

间接原因

Gerrit 的submit action操作使用了merge if necessary,所以在submit之后使用了merge的方式(将该提交所在的parent一起merge了进来)。

避免