1
是否可以删除Gerrit Code Review中的组?可能是一些插件,或者这个动作应该以类似SQL的方式“手动”执行(例如gerrit gsql)?如何在Gerrit Code Review中删除组?
是否可以删除Gerrit Code Review中的组?可能是一些插件,或者这个动作应该以类似SQL的方式“手动”执行(例如gerrit gsql)?如何在Gerrit Code Review中删除组?
遗憾的是,没有办法使用command line tools或REST API删除Gerrit群组。
我有一个从Gerrit数据库中删除Gerrit组的脚本。
它基本上执行以下操作:
1)检查是否在格里特存在组:
if ssh -p 29418 [email protected] gerrit ls-groups -q GROUP > /dev/null
then
# GROUP EXIST
else
# GROUP DOESN'T EXIST
fi
2)检查组在任何项目中分配访问权限:
ssh -p 29418 [email protected] gerrit ls-projects --type ALL --has-acl-for GROUP > /tmp/ls-projects
if [[ -s /tmp/ls-projects ]]
then
# GROUP HAS ACCESS RIGHTS ASSIGNED
else
# GROUP DOESN'T HAVE ACCESS RIGHTS ASSIGNED
fi
注意:您需要首先从任何项目访问权限中删除该组。
3)搜索在数据库格里特
SELECT group_id FROM account_group_names WHERE name = 'GROUP';
4组ID)从格里特数据库中删除组
START TRANSACTION;
DELETE FROM account_group_id WHERE s = 'GROUP-ID';
DELETE FROM account_group_by_id WHERE group_id = 'GROUP-ID';
DELETE FROM account_group_by_id_aud WHERE group_id = 'GROUP-ID';
DELETE FROM account_group_members WHERE group_id = 'GROUP-ID';
DELETE FROM account_group_names WHERE group_id = 'GROUP-ID';
DELETE FROM account_groups WHERE group_id = 'GROUP-ID';
DELETE FROM account_group_members_audit WHERE group_id = 'GROUP-ID';
COMMIT;