git - Gerrit 禁止推送空补丁集
问题描述
在较旧版本的 Gerrit 中,当尝试使用不同的 SHA 推送提交但没有更改时 - 因此提交消息没有更改,提交内容没有更改,其祖先也没有更改,您会收到类似的错误这个:
remote: (W) No changes between prior commit a5ff9c3 and new commit 014229a
To ssh://developer@gerritserver:29418/projectX
! [remote rejected] HEAD -> refs/for/master (no changes made)
error: failed to push some refs to 'ssh://developer@gerritserver:29418/projectX'
所以 Gerrit 不允许你推送一个空的补丁集。这是某些 2.X Gerrit 版本的行为。
现在使用 3.1.4 时只有警告:
remote: warning: no changes between prior commit c94b74a and new commit 19e07aa
remote:
remote: SUCCESS
之后一切顺利。这意味着如果您进行挑选并推送到 Gerrit,您将创建一个空的补丁集,这不是我认为的良好行为。
有没有办法强制执行与以前的 Gerrit 版本相同的行为?我尝试Reject empty commit upon submit
了项目设置中的配置,起初,我认为它可以工作,但这似乎不是更改的正确选项。
解决方案
理论上,此选项仅在合并更改时有效,但也许在推送提交时也有效(这是错误还是功能?)。
请参阅此处Gerrit 文档的“提交部分”中的“submit.rejectEmptyCommit”选项。
推荐阅读
- python - 尽管 df 包含 0 或 NaN,但仍显示堆积面积图
- javascript - 具有多个值的 json 对象的正确结构
- shiny - 仅获取已更改的 InputID
- python - How to get a robust nonlinear regression fit using scipy.optimize.least_squares?
- vba - VBA 中使用的命名范围
- json - 如何在 yaml 文件中使用 json 变量(Helm)
- javascript - 在反应路由器 4 中查询参数
- java - Android 图片按钮不显示
- node.js - Node.js 强大 :: 如何使用(php 约定)数组字段解析表单“multipart/form-data”
- android - android.view.InflateException: Binary XML file line #10: Binary XML file line #10: Error inflating class Button