android-source - LineageOS Gerrit 推送失败:不允许提交太多提交和伪造提交者
问题描述
我正在本地设置 Gerrit LineageOS(AOSP 的分支)服务器,但是在我推送到 gerrit 时,许多 refs 被拒绝,给了我错误:prohibited by Gerrit: forge committer not permitted
和too 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)
解决方案
我做了一些彻底的搜索,不久之后,意识到我有正确的权限被推送到refs/heads/*
,但不是refs/tags/*
,然后我将伪造提交者身份和所有伪造权限添加到refs/tags/*
分支,它最终允许我推送并创建一个分支。
推荐阅读
- java - java - 如何在java spring boot中从另一个数据库表中获取实体列表?
- java - RabbitMQ 错误 java.lang.IllegalArgumentException:表中的值无效
- mysql - Go sqlmock 测试 MySQL 批量插入
- python - 如何对多架构的python文件进行cythonize?
- podman - 错误:提供的配置无效:无法为无根容器和 Pod 分配静态 MAC 地址
- entity-framework - 从我的应用程序的任何地方了解当前用户 ID
- django - 当我尝试使用 env 变量连接数据库时,我得到 [用户“root”的密码验证失败] Django
- mssql-jdbc - 从 Eclipse Scout 中的 MSSQL 存储过程返回值
- go - GoLang Protobuf:如何使用同一个 tcp 连接发送多条消息?
- docker - 在 Visual Studio 中调试在 Docker 中运行的应用程序