问题描述:gerrit以管理员的身份登录后,create new list和 create new group不显示,导致无法创建新的项目和权限组
出现问题:gerrit可视化页面误删all_project的权限(以下所有新增项目都继承all_project的权限),导致所有项目无法提交代码 ([Administrators] "Gerrit Site Administrators")-Server block了,或者是压根没有Global Capabilities这段,查看是否是此问题,进入All-Project项目---Access中查看)。
image排查问题的过程
1、查看数据库管理员权限,然而数据库中的权限是管理员。
2、查看服务器配置gerrit.config文件配置,确定没有问题继续看
3、查看服务器配置secure.config 文件配置,密码是否保持一致
4、查看目录是否拥有gerrit权限
5、查看nginx配置
解决办法:
1、进入服务器git安装的路径下的etc 执行vi gerrit.conf 查看仓库的存放位置
image2、将All-Project下载下来编辑project.config文件,(因project.config是隐藏文件,必须要clone下来修改)
3、进入gerrit中代码存放的路径,执行 git clone All-Projects.git/ yy ,(“/”必须要,yy是clone的仓库名,可随意定义,)
3.1、需要修改下载仓库的权限(包括子目录),和all_project的权限一致,一般权限不会变动;
3.2、vim project.config 添加删除的权限配置,添加脚本如下:
image[capability]
administrateServer = group Administrators
priority = batch group Non-Interactive Users
streamEvents = group Non-Interactive Users
3.3、在新建仓库下新建readme文件,touch readme(权限修改和仓库一致)
chown -R user readme
chgrp -R user readme
备注:有网友反馈,如果不新建不能提交修改内容,实际根据个人情况,我出问题之后,直接修改 project.config,然后提交也可以成功。
4、 修改完之后提交修改的文件
4.1、git add .
4.2、git commit -m"modify"
4.3、git push origin HEAD:meta/config (根据自己的分支写)
5、提交代码提示:remote: error: refusing to update checked out branch: refs/meta/config
问题原因:这是由于git默认拒绝了push操作,
解决问题:修改.git/config文件后面添加如下代码,注意是服务端,不是本地:
[receive]
denyCurrentBranch = ignore
6、修改后再次提交
提交成功后刷新页面,久违的create,喜欢吗?
image
网友评论