将补丁集推送到另一个作者拥有的 gerrit

Push patchset to gerrit own by another author

我已经使用 gerrit 好几年了,我正在尝试在我的新公司中设置一个 gerrit 服务器。我几乎在每一个配置上都成功了,但我还有最后两个问题(我将在这里只讨论一个)。

我过去常常挑选我没有写的补丁集(我不是作者),更改它以改进它(或变基或其他......),然后用相同的方式将它推送到 gerrit change-id 成为补丁集 n + 1.

我目前在推送修改补丁集时遇到一些问题。

这是我所做的。

  1. 转到 gerrit 中的补丁集我想更改
  2. 将这个补丁集精心挑选到我的本地 git 存储库中
  3. 更新源代码
  4. 使用相同的 change-id 提交修改(因为我真的想保留所有历史记录和作者所有权)
  5. 正在尝试推送到 gerrit(git 推送 gerrit HEAD:refs/for/...)

第五点不成立。这是错误:

$ git push gerrit HEAD:refs/for/develop
  Counting objects: 16, done.
  Delta compression using up to 8 threads. 
  Compressing objects: 100% (16/16), done.
  Writing objects: 100% (16/16), 2.07 KiB | 0 bytes/s, done.
  Total 16 (delta 13), reused 0 (delta 0)
  remote: Resolving deltas: 100% (13/13)
  remote: Processing changes: refs: 1, done
  To ssh://gerrit.server.lan:29418/group/project
   ! [remote rejected]   HEAD -> refs/for/develop (cannot add patch set to 87.)
  error: failed to push some refs to 'ssh://user@gerrit.server.lan:29418/group/project'

显然用户、服务器、组和项目都正确填写。 我正在使用 gerrit 2.13.5

我对 gerrit/develop 分支进行了重新设置。

我想我搞砸了一些配置,但我找不到哪一个。

看来问题是您没有"Add Patch Set"权限。查看更多详细信息 here。此权限控制允许哪些用户将新补丁集上传到现有更改。