gerrit 使用问题

1、项目管理

1.1 删除项目

将项目库从文件系统删除
重启 gerrit

1.2 上传外部项目

如果你上传别人的项目,会出现类似下面的错误
remote: ERROR:  In commit dd3361336fc04bf20520a0bf93db1bd6d72215dc
remote: ERROR:  committer email address [email protected]
remote: ERROR:  does not match your user account.

需要配置 'Forge Committer' 和 'Forge Author' 访问权限, 让 Gerrit 忽略你不是正在 push 的提交的 author 或者 committer。

参考:http://stackoverflow.com/questions/9262297/git-mirror-with-gerrit

1.3 批量修改项目设置

使用 ssh 管理接口
获取所有项目名称
ssh admin gerrit ls-projects > projects
用for循环设置每个项目
for p in $(cat projects) ; do ssh admin gerrit set-project $p -t FAST_FORWARD_ONLY;done

2、

2.1、自动检查提交是否符合格式

添加补丁提交时的 gerrit 消息钩子
编辑 $site_path/hooks/patchset-created
该脚本被调用的参数格式为
patchset-created --change <change id> --is-draft <boolean> --change-url <change url> --project <project name> --branch <branch> --topic <topic> --uploader 
<uploader> --commit <sha1> --patchset <patchset id>
为了使该脚本生效,需要修改 gerrit.conf 配置文件,添加 hooks 节
[hooks]
        path=/home/gerrit/review/hooks
        patchsetCreatedHook=patchset-created
如果遇到不符合格式的提交,可以通过脚本自动添加 review 操作:
ssh checker gerrit review -p ${project} ${commit} --message '"You commit message does not meet the desired format:"'
ssh checker gerrit review -p ${project} ${commit} --code-review -2
这时 gerrit 会给补丁提交者发送邮件,通知补丁审查不通过

你可能感兴趣的:(gerrit)