首页 > 解决方案 > LineageOS Gerrit 推送失败:不允许提交太多提交和伪造提交者

问题描述

我正在本地设置 Gerrit LineageOS(AOSP 的分支)服务器,但是在我推送到 gerrit 时,许多 refs 被拒绝,给了我错误:prohibited by Gerrit: forge committer not permittedtoo many commits. 我了解提交消息太多,但即使在检查--skip-validation选项时,我也收到了相同的伪造提交者消息。

这是一个运行 Ubuntu 的 Linux 服务器,带有 Gerrit 2.15。all-projects我尝试了上述的跳过选项,并且在 gerrit权限中也启用了伪造提交。

我使用的命令是(这很好用): repo forall -c 'echo $REPO_PATH; ssh -p 29418 admin@localhost gerrit create-project --name blinkOS/$REPO_PATH --owner blinkOS --parent blinkOS;' 创建分支,而这个要推送(每次推送都会出错): repo forall -c 'echo $REPO_PATH; git push ssh://admin@localhost:29418/blinkOS/$REPO_PATH +refs/heads/* +refs/tags/*;'创建命令有效(父项目名称是 blinkOS),推送给了我错误。

预期它应该推送,但它不会推送所有文件,只推送一些文件,并拒绝大多数文件。

以下是一些错误消息的片段(我只取了最新的):

 ! [remote rejected]   studio-2.3 -> studio-2.3 (prohibited by Gerrit: forge committer not permitted)
 ! [remote rejected]   studio-3.0 -> studio-3.0 (prohibited by Gerrit: forge committer not permitted)
 ! [remote rejected]   studio-3.1.2 -> studio-3.1.2 (prohibited by Gerrit: forge committer not permitted)
 ! [remote rejected]   studio-master-dev_before_26911779 -> studio-master-dev_before_26911779 (prohibited by Gerrit: forge committer not permitted)
 ! [remote rejected]   studio-master-dev_before_27917934 -> studio-master-dev_before_27917934 (prohibited by Gerrit: forge committer not permitted)

标签: android-sourcegerrit

解决方案


我做了一些彻底的搜索,不久之后,意识到我有正确的权限被推送到refs/heads/*,但不是refs/tags/*,然后我将伪造提交者身份和所有伪造权限添加到refs/tags/*分支,它最终允许我推送并创建一个分支。


推荐阅读