reference:https://blog.bruin.sg/2013/04/19/how-to-edit-the-project-config-for-all-projects-in-gerrit/
背景
有时候需要重新配置Gerrit;如果将所有的项目都重新手动配一遍,是比较麻烦的。在网上找到了配置方法。
思路:由于项目设置保存在项目的Git存储库中,因此可以通过gerrit附带的ssh操作,在从Gerrit克隆项目、进行更改,再commit以及push到Gerrit来实现修改。
PROJECT=你需要修改权限的项目名,如果希望所有项目都可以生效,则修改`All-Projects`。
$ mkdir gerrit_config # 目录无所谓
$ cd gerrit_config
$ git init
$ git remote add origin ssh://<USER>@<GERRITHOST>:29418/<PROJECT>
$ git fetch origin refs/meta/config:refs/remotes/origin/meta/config
remote: Counting objects: 7, done
remote: Finding sources: 100% (7/7)
remote: Total 7 (delta 0), reused 0 (delta 0)
Unpacking objects: 100% (7/7), done.
From ssh://10.88.105.12:29418/All-Projects
* [new ref] refs/meta/config -> origin/meta/config
git checkout meta/config
此后,可以看到两个文件,一个跟组名有关,一个与当前项目的配置有关:
通常,在
http://<GERRITHOST>:<PORT>:8080/plugins/gitiles/
中可以看到有关的改动。
$ ls
groups project.config
最后,将其提交即可(确保有项目对应的访问权限)。
git commit -a
git push origin meta/config:meta/config
此后,可以看到对应的提交:
http://<GERRITHOST>:<PORT>:8080/plugins/gitiles/
9123049 test by schips · 21 seconds ago
b3fec78 Configure 'Verified' label by Gerrit Code Review · 5 days ago
b42a8c3 Initialized Gerrit Code Review 3.1.4 by Gerrit Code Review · 5 days ago