如何避免Gerrit权限问题并将GitHub存储库迁移到Gerrit?

时间:2019-01-17 23:25:40

标签: git push gerrit

我正在将GitHub项目移至Gerrit。我正在执行以下操作:

  1. 在Gerrit中创建一个没有初始提交集的新项目

  2. 将来自GitHub的存储库克隆到我的本地计算机上。

  3. cd进入我机器上的repo目录

  4. 删除GitHub远程(git remote remove origin)

  5. 添加Gerrit远程对象(git remote添加来源ssh:// git。

  6. 确保我在Gerrit的目标存储库中具有refs / *的Push权限

  7. 运行git push origin master

在运行步骤7时出现以下错误:  ! [远程拒绝] master-> master(Gerrit禁止:不允许创建新提交对象的更新)

我已经确认我的push / fetch远程实际上是我要推送到的Gerrit存储库。此外,我已经验证我可以在GitHub存储库之外提交对此存储库的提交(例如,我可以提交仅包含一个空.txt文件的提交以进行审核)。

另一个注意事项:我以前没有遇到这个问题,但是自从将Gerrit升级到2.16.2以来一直遇到这个问题。

1 个答案:

答案 0 :(得分:0)

当您执行“ git push origin master”时,您试图绕过Gerrit上的代码审查直接推送至分支(这是通常的审查命令:git push origin HEAD:refs / for / master)。 “主->主(由Gerrit禁止)”表示您无权执行此推送。

请参阅Gerrit文档here中有关此错误的更多信息。

注意:这是一个权限问题,与升级到Gerrit 2.16.2没有直接关系。