gerrit删除Group和Project

转至:http://blog.sina.com.cn/s/blog_507c71550100ouv5.html


Group

1. access gerrit sql database
     cmd:  ssh -p 29418 150.236.40.165 gerrit gsql
2. gerrit>  delete from ACCOUNT_GROUP_NAMES where name=<group name>;
3. gerrit>  delete from ACCOUNT_GROUPS where name=<group name>;

Project
1. access gerrit sql database
     cmd:  ssh -p 29418 150.236.40.165 gerrit gsql
2. gerrit>  delete from projects where name=<project name>;
3. gerrit>  delete from ref_rights where project_name=<project name>;
4. go to folder /gerrit/review_site/git, remove <project name>.git

Example for remove project:
Step 1:
ecdshawk@mtvserver2:/project/ecds/gerrit/review_site/db> ssh -p 29418 150.236.40.165 gerrit gsql
Welcome to Gerrit Code Review 2.1.6.1
(H2 1.2.134 (2010-04-23))
 
Type '\h' for help.   Type '\r' to clear the buffer.
 
gerrit>
 
Step 2:
gerrit>  delete from projects where name='rmproject';
UPDATE 1; 1 ms
 
Step 3:
gerrit>  delete from ref_rights where project_name='rmproject';
UPDATE 1; 1 ms

Step 4:
ecdshawk@mtvserver2:/project/ecds/gerrit/review_site/git> ls
fproject.git   rmproject.git
ecdshawk@mtvserver2:/project/ecds/gerrit/review_site/git> rm -rf rmproject.git/
ecdshawk@mtvserver2:/project/ecds/gerrit/review_site/git> ls
fproject.git

Note: The projects is removed from database with Gerrit version 2.2. The method is simply. Delete project folder from Gerrit repo folder directly and restart Gerrit service.
<think>好的,我现在需要帮助用户解决关于Gerrit权限配置的问题。用户提到了Gerrit权限配置的方法或者解决相关问题,具体想要教程或者访问控制配置的指导。首先,我需要回忆一下Gerrit的权限系统是如何工作的,以及常见的配置步骤。 首先,Gerrit的权限管理主要基于项目配置文件,通常是`project.config`文件,这个文件存储在Git仓库的`refs/meta/config`分支下。用户可以通过修改这个文件来配置不同用户或组的访问权限。这一点我记得在Gerrit的文档中有提到,可能需要引用相关的内容。 然后,权限的配置通常涉及定义用户组(Groups)、分配权限(Permissions)到这些组,然后将用户添加到相应的组中。权限包括代码审核、推送代码、提交变更等等。每个项目可能有不同的权限设置,所以需要分项目进行配置。 接下来,用户可能需要了解具体的操作步骤,比如如何访问项目的配置分支,如何修改`project.config`文件,以及如何推送这些更改。这部分需要详细说明,可能需要引用Gerrit的管理员指南或者用户手册中的内容,比如引用[^1][^2]。 另外,用户可能遇到的一些常见问题,比如权限不生效,或者配置错误导致访问被拒绝。这时候需要检查配置文件的语法是否正确,用户是否被正确添加到组中,以及权限的作用范围是否合适。例如,引用[^3]提到的插件可能涉及到权限的扩展配置,如果用户使用了第三方插件,可能需要额外的步骤。 还需要考虑权限的继承问题,Gerrit允许子项目继承父项目的权限设置,这可能在配置时需要注意,避免重复配置或者覆盖问题。此外,权限的种类很多,比如读权限、推送权限、标签权限等,需要逐一解释清楚。 最后,应该提供一些实际操作的例子,比如如何添加一个组,如何赋予该组推送代码的权限,以及如何验证配置是否生效。这些步骤能够帮助用户更直观地理解操作。 总结一下,我需要整理Gerrit权限配置的基本流程、关键步骤、常见问题解决方法,并引用相关的文档资源,确保用户能够按照指导完成配置,并解决可能遇到的问题。</think>### Gerrit权限配置方法 Gerrit的权限控制基于项目配置文件(`project.config``)用户组(Groups),主要通过以下步骤实现: #### 1. **权限配置入口** - 权限配置文件存储在项目的`refs/meta/config`分支中,通过克隆该分支进行修改: ```bash git clone ssh://<gerrit-server>/<project-name> && cd <project-name> git fetch origin refs/meta/config:config git checkout config ``` 修改后通过`git push`提交变更[^2]。 #### 2. **定义用户组** - 在Gerrit的Web界面(**People > Groups**)中创建用户组,例如`Developers`或`Reviewers`。 - 将用户添加到对应组中,支持LDAP同步或手动添加。 #### 3. **配置项目权限** 在`project.config`中,通过`[access]`段分配权限。示例: ```ini [access "refs/heads/*"] # 允许Developers组推送代码 push = group Developers # 允许Reviewers组审核代码 label-Code-Review = +2 group Reviewers ``` #### 4. **常见权限类型** - **读权限**:`read` - **推送代码**:`push` - **提交审核**:`submit` - **标签权限**:`label-<Label-Name>`(如`label-Code-Review`) #### 5. **继承与覆盖** - 子项目默认继承父项目权限,可通过`[inherit]`字段控制: ```ini [inherit] from = parent-project ``` #### 6. **验证权限** - 使用命令`ssh -p <port> <gerrit-server> gerrit ls-projects -v`查看项目权限详情。 - 通过Web界面测试用户账号的实际权限[^3]。 --- ### 常见问题解决 1. **权限不生效** - 检查用户是否加入正确的组。 - 确认配置文件语法正确,无重复冲突。 - 确保`refs/meta/config`分支已正确推送。 2. **自定义权限插件** - 若需扩展权限(如代码合并规则),可参考第三方插件(如`ref-protection`)[^3]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值