在Gerrit中修改project.config

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
posted @   schips  阅读(2127)  评论(0编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
· 使用C#创建一个MCP客户端
历史上的今天:
2019-12-30 下载 Linux 内核的脚本
点击右上角即可分享
微信分享提示