Gerrit接受推送而没有更改-id

时间:2016-04-13 17:22:46

标签: git gerrit

我们有两个使用gerrit的git项目。

项目1

  • 几年前成立
  • 与gerrit正确配合
  • 如果推送不包含Change-Id,则gerrit拒绝提交

项目2

  • 几周前成立
  • 与gerrit无法正常工作
  • 如果推送不包含Change-Id,则gerrit仍接受提交
  • 提交仍然存放在批准队列中,并且一旦获得批准,就会正确合并。
  • Rebases并不总是有效。如果原始推送包含正确的change-id,那么rebase和commit --amend将起作用。如果原始推送没有包含正确的更改ID,则rebase或commit --amend会导致每次都在某处生成一个全新的更改ID。

(有些背景是有些设计师忘了安装提交钩子。他们的推送应该失败,但没有。)

如果它有所不同,Project 1不是裸露的,Project 2是裸露的。)

为什么(设置是什么)会导致一个项目(正确地)需要Change-Ids而另一个项目不需要?我在文档中找不到这个。

1 个答案:

答案 0 :(得分:4)

您需要在项目2中将“提交消息中的Require Change-Id”选项设置为TRUE(需要管理权限)。

更多信息:https://gerrit-review.googlesource.com/Documentation/project-configuration.html#require-change-id