Gerrit 接受没有更改 ID 的推送
Gerrit accepting pushes without change-id
我们有两个 git 项目都使用 gerrit。
项目 1
- 几年前成立
- 与 gerrit 一起正常工作
- 如果推送不包含 Change-Id,gerrit 会拒绝提交
项目 2
- 几周前设置
- 不能与 gerrit 一起正常工作
- 如果推送不包含 Change-Id,gerrit 仍然接受提交
- 该提交仍在批准队列中,一旦批准,将被正确合并。
- 变基并不总是有效。如果原始推送包含正确的 change-id,则 rebase 和
commit --amend
将起作用。如果原始推送不包含正确的 change-id,则 rebases 或 commit --amend
每次都会在某处生成一个全新的 change-id。
(有点背景是有些设计者忘记安装commit hook,他们的push应该失败了,但是没有。)
如果有区别,项目 1 不是裸机,项目 2 是裸机。)
为什么(设置是什么)会导致一个项目(正确地)需要 Change-Id,而另一个项目不需要? 我无法在文档。
您需要在项目 2 中将 "Require Change-Id in commit message" 选项设置为 TRUE(需要管理权限)。
更多信息:https://gerrit-review.googlesource.com/Documentation/project-configuration.html#require-change-id
我们有两个 git 项目都使用 gerrit。
项目 1
- 几年前成立
- 与 gerrit 一起正常工作
- 如果推送不包含 Change-Id,gerrit 会拒绝提交
项目 2
- 几周前设置
- 不能与 gerrit 一起正常工作
- 如果推送不包含 Change-Id,gerrit 仍然接受提交
- 该提交仍在批准队列中,一旦批准,将被正确合并。
- 变基并不总是有效。如果原始推送包含正确的 change-id,则 rebase 和
commit --amend
将起作用。如果原始推送不包含正确的 change-id,则 rebases 或commit --amend
每次都会在某处生成一个全新的 change-id。
(有点背景是有些设计者忘记安装commit hook,他们的push应该失败了,但是没有。)
如果有区别,项目 1 不是裸机,项目 2 是裸机。)
为什么(设置是什么)会导致一个项目(正确地)需要 Change-Id,而另一个项目不需要? 我无法在文档。
您需要在项目 2 中将 "Require Change-Id in commit message" 选项设置为 TRUE(需要管理权限)。
更多信息:https://gerrit-review.googlesource.com/Documentation/project-configuration.html#require-change-id