8

两个开发人员正在开发分支上进行两个完全不同的更改(例如,两个不同的文件)。他们都同时提交了他们的工作,触发了两个 Jenkins 构建。这些构建运行良好,但一个审查比另一个需要更长的时间。

第一个开发者提交了他们的补丁集,并且在开发中没有中间提交,因此 Gerrit 将其合并。

第二个开发者稍后提交他们的补丁集。虽然现在有一个中间提交,但合并本身是微不足道的,Gerrit 执行合并。

现在我们有两个构建,其中一个都不包含另一个的工作。

如果有任何中间提交,我想阻止第二次提交,即使合并完全是微不足道的,导致开发人员改为重新设置并更新他们的提交(并在此过程中触发 Jenkins 中的新构建)。

当审查完成时,我在 Gerrit 中设置什么来阻止这种琐碎但不需要的合并,补丁集正在提交但目标分支上有中间合并?

4

1 回答 1

7

您可以将 Gerrit 中的项目选项更改为仅快进,这将阻止更改进入,因为它不是快进合并。然后强制 developer2 git pull --rebase 并再次推送,现在 developer1 所做的更改将成为验证的一部分。

于 2012-12-07T03:31:26.080 回答