Prolog Gerrit允许在标签大于0时提交(序言规则)

Prolog Gerrit允许在标签大于0时提交(序言规则),prolog,gerrit,Prolog,Gerrit,我在Gerrit中创建了一个自定义标签 [label "Code-Quality"] function = NoOp value = 0 No score value = +1 Horror value = +2 Not bad value = +3 Good value = +4 Super Hiper value = +5 Jon Skeet 这是为了看(从长远来看)谁被认为编写了一个高质量的代码。然而,当我把这个标签留作可选(NoOp)时,似乎没有人填充它。

我在Gerrit中创建了一个自定义标签

[label "Code-Quality"]
  function = NoOp
  value =  0 No score
  value = +1 Horror
  value = +2 Not bad
  value = +3 Good
  value = +4 Super Hiper
  value = +5 Jon Skeet
这是为了看(从长远来看)谁被认为编写了一个高质量的代码。然而,当我把这个标签留作可选(
NoOp
)时,似乎没有人填充它。Gerrit会显示CodeReview+2快捷按钮,因此大多数情况下,审阅者甚至不会打开回复框,在那里他们会看到附加标签

我想要实现的是阻止更改提交,除非审阅者将
CQ
标志设置为大于0的任何值。如果我将
-1
值添加到此标志,则该函数似乎合理,但审阅者仍然可以使用快捷键跳过设置(通常是无意中)

我看到了。然而,尽管有许多不同规则的例子,但没有一个适合我的用例。此外,prolog语法对我来说太神秘了,以至于我甚至无法产生任何接近我需要的东西

如果您能帮助我编写此类提交规则或为我指明另一个方向,我们将不胜感激。

更改为:

[label "Code-Quality"]
  function = AnyWithBlock
  defaultValue = -1
  value = -1 No score
  value = +1 Horror
  value = +2 Not bad
  value = +3 Good
  value = +4 Super Hiper
  value = +5 Jon Skeet

正如我所说,当审阅者使用
code Review+2
按钮时,这不起作用。
defaultValue
仅指定默认情况下在回复框中选择的单选选项。但是,如果用户仅单击“代码审阅+2”按钮,更改将不会被批准,是吗?用户单击Code Review+2按钮后的代码质量值是多少?是0还是-1?然后批准更改。在这种情况下,CQ的值为0。Gerrit将其视为“用户没有选择任何东西”。我开始认为这是Gerrit的错误…我已经报告了。是的,我认为这是一种错误,因为“无价值”与“任何价值”不同。