Workflow 如何避免浪费gerrit审查提交?

Workflow 如何避免浪费gerrit审查提交?,workflow,gerrit,Workflow,Gerrit,在过去的一年中,我使用了~5台不同的gerrit服务器,遇到了一个常见问题:在执行审阅时,有人执行了+2并提交了更改,因此您的整个审阅工作变得毫无用处 我们怎样才能避免这个问题呢?由于我还没有找到一个可接受的解决方案,我最终提出了一个解决方案 该功能是一个可配置的冷却期,在服务器允许某人执行提交之前需要该冷却期 我知道一种常见的方法是在允许提交之前要求2x+2投票,但这种方法有两个问题: 这并不能解决最初的问题:你很容易成为撰写评论的第三人 将流程减慢到甚至无法申请某些项目的程度(提交人少,响

在过去的一年中,我使用了~5台不同的gerrit服务器,遇到了一个常见问题:在执行审阅时,有人执行了+2并提交了更改,因此您的整个审阅工作变得毫无用处


我们怎样才能避免这个问题呢?

由于我还没有找到一个可接受的解决方案,我最终提出了一个解决方案 该功能是一个可配置的冷却期,在服务器允许某人执行提交之前需要该冷却期

我知道一种常见的方法是在允许提交之前要求
2x+2
投票,但这种方法有两个问题:

  • 这并不能解决最初的问题:你很容易成为撰写评论的第三人
  • 将流程减慢到甚至无法申请某些项目的程度(提交人少,响应时间不可靠)

注:显然,此答案不算作可接受的解决方案。

您可以实施一种特殊策略来“锁定”批准,并在超时后“解锁”。例如:

1) 在Gerrit上创建自定义标签(例如:超时)

2) 让詹金斯为推给Gerrit的每一个补丁触发一个任务。对于每个补丁集,请执行以下操作:

2.1)设置标签超时=-1(锁定)

2.2)将变更编号及其解锁时间保存在文件中

3) 在Jenkins上设置定期作业以查找锁文件中的超时更改。在需要时设置标签超时=+1(解锁)

如果需要的话,一些拥有+1标签超时权限的人可以绕过超时时间。

似乎有很多代码(和bug)需要编写,但最终应该可以工作。我不知道是否有类似的东西已经写好了。谢谢