gerrit query 命令的简单应用

tafanfly

背景

最近工作上遇到了一个需求,就是需要统计组内人员的Gerrit的提交情况, 找到了下面三种可以尝试的方案。

  • git 自带的命令查询,例如git log --author=yourname --since="2019-09-01" --no-merges | grep -e 'commit [a-zA-Z0-9]*' | wc -l
  • gitstat 工具, 需要下载安装使用,可以自动生成表格
  • gerrit query 命令

然后大致一一查看了用法,对于我这种情况,发现第三种方法使用更加方便快捷。

介绍

1. gerrit query官方文档:
2. 命令方法
ssh -p <port> <host> gerrit query
  [--format {TEXT | JSON}]
  [--current-patch-set]
  [--patch-sets | --all-approvals]
  [--files]
  [--comments]
  [--commit-message]
  [--dependencies]
  [--submit-records]
  [--all-reviewers]
  [--start <n> | -S <n>]
  [--no-limit]
  [--]
  <query>
  [limit:<n>]

<port> : 是指gerrit服务器的端口, 一般29418
<host>: 是指gerrit服务器的地址, 一般username@gerrit.XXX.com, 或者gerrit.XXX.com

3. 举例说明

查询在2019-01-01到2019-02-01之间一个月,提交到以TEST_为开头的所有项目有效(merged)提交信息。

"ssh -p 29418 username@gerrit.XXX.com gerrit query --format=JSON --current-patch-set status:merged branch:master projects:TEST_ before:2019-02-01 after:2019-01-01"

--format=JSON : 返回的信息是json 格式, 也可以是TEXT格式
--current-patch-set : 写了这个才会返回具体的patch信息
status:merged : gerrit ticket的状态, merged, open,abandon
branch:master : 查询哪个分支
projects:TEST_ : 以TEST_为开头的所有项目
project:fix_error : 查询fix_error该项目
before - after :查询时间范围

需要什么功能,可以去上面的文档中查到对应的参数,然后组成相应的命令,就可以查询到你想要的信息了。

阅读 5k
1 声望
0 粉丝
0 条评论
1 声望
0 粉丝
宣传栏