2012-12-07 40 views
7

两位开发人员正在开发两个完全不同的更改(比如两个不同的文件)。他们都在同一时间提交他们的工作,触发两个Jenkins构建。这些构建会很好,但一个审查比另一个审查需要更长的时间。在Gerrit中,如何防止提交的补丁集不完全是最新的?

第一个开发的提交补丁集,并有对发展没有中间提交这样格里特将其合并权。

第二开发后提交的补丁集。虽然现在有一个中间提交,但合并本身并不重要,Gerrit执行合并。

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

我想阻止第二次提交,如果有任何中间提交,即使合并将是完全无关紧要的,导致开发人员改为重新绑定并更新其提交(并在进程中触发Jenkins中的新构建)。

我在Gerrit中设置了什么来阻止这种不重要的 - 但是不想要的合并,当审查完成时,补丁集正在提交,但目标分支有中间合并吗?

回答

6

您可以更改Gerrit中的项目选项 仅快进, 这将防止更改进入,因为它不是快进合并。 然后迫使developer2重新拉动--rebase并再次推送,现在developer1所做的更改将成为验证的一部分。

+0

这是否会造成其他副作用? – MartyMacGyver

+1

副作用是开发人员在推动审查之前需要拉动--rebase –

+1

然后没有不需要的副作用。我很感谢你的回答,并希望在这里得到满意的答复(我认为这个问题对其他人有用)。再次感谢! – MartyMacGyver

相关问题