背景
有时批量提交一些patch时没有加reviewer,手动一个个加太麻烦,可以通过指令批量添加reviewer,review,以及submit
添加Reviewer
指令说明
ssh -p <port> <host> gerrit set-reviewers
[--project <PROJECT> | -p <PROJECT>]
[--add <REVIEWER> … | -a <REVIEWER> …]
[--remove <REVIEWER> … | -r <REVIEWER> …]
[--]
{CHANGE-ID}…
示例
ssh -p 29418 username@gerrit.xxxx.com gerrit set-reviewers -a reviewer-name@xxxx.com 367641
也可以指定project
在changeID(367641)前加 -p project_name 即可
指令review
指令说明
sh -p <port> <host> gerrit review
[--project <PROJECT> | -p <PROJECT>]
[--branch <BRANCH> | -b <BRANCH>]
[--message <MESSAGE> | -m <MESSAGE>]
[--notify <NOTIFYHANDLING> | -n <NOTIFYHANDLING>]
[--submit | -s]
[--abandon | --restore]
[--rebase]
[--move <BRANCH>]
[--json | -j]
[--verified <N>] [--code-review <N>]
[--label Label-Name=<N>]
[--tag TAG]
{COMMIT | CHANGENUMBER,PATCHSET}…
示例
ssh -p 29418 username@gerrit.xxxx.com gerrit review --verified +1 --code-review +1 367641,1
批量review(本地所有没有merge的change)
ssh -p 29418 username@gerrit.xxxx.com gerrit review --verified +1 --code-review +1 -p project_name -b branch_name $(git rev-list origin/branch_name..HEAD)
也可以把git rev-list换成两个commit之间
git rev-list A...B
批量submit
和review指令一样,添加-s参数即可,通常review和submit 同时执行
示例
ssh -p 29418 username@gerrit.xxxx.com gerrit review --code-review +2 -s -p project_name -b branch_name $(git rev-list origin/branch_name..HEAD)
Abanon
示例
ssh -p 29418 username@review.example.com gerrit review --abandon 8242,2