如果我向 gerrit 推送两次并且审阅者试图合并最后一个怎么办

What if I push twice to gerrit and the reviewer tries to merge the last one

我使用 Gerrit 有一段时间了,了解 Gerrit 的基本工作流程。

到目前为止,一切正常:当我完成编码工作后,我将代码推送到 Gerrit,然后 Jenkins 和我的领导开始工作。如果我的领导者(审阅者)对我的代码 +2 并且 Jenkins 无误地完成了它的工作,我的代码将被合并到分支机构。这很清楚和简单。

但是,如果我在很短的时间内推送我的更改两次怎么办?假设我按下了 A,然后又按下了 B。它们都会触发 Jenkins 完成它的工作。同时,由于某种原因,我的领导(审稿人)没有审阅A,但他立即审阅了B。然后他为 B +2。意思是,A 尚未合并到分支主机,但我的领导正在尝试将 B 合并到分支主机。但是,A 是 B 的父级。显然,从逻辑上讲,合并 A 必须在合并 B 之前发生。

我想知道 Gerrit 会为这种情况做些什么。会不会产生错误提示审稿人审阅之前的推送?

如果B依赖于A并且A没有准备好提交,B被阻止。 B 页面上的提交按钮已禁用。

如果你想提交 B,你需要先变基 B 以便它独立于 A。由于冲突,rebase 可能会失败。