【Gerrit】Gerrit cmd query (gerrit命令行查询change信息)

https://review.opendev.org/Documentation/user-search.html    Gerrit Code Review - Searching Changes

https://review.opendev.org/Documentation/cmd-query.html    gerrit query

# 时间段查询命令

查询 2019-09-10 00:00:00  ~ 2019-09-12 00:00:00 之间的提交,查询命令: after:2019-09-10  before:2019-09-12

# 查询 张三 在2019 全年的提交记录 (包含所有状态)

ssh -p 29418 gerrit服务器 gerrit query --format=JSON after:2019-01-01 before:2019-12-30 owner:zhangsan | tee log

# 查询 张三 在2019 全年的提交记录 (仅 merged 状态)

ssh -p 29418 gerrit服务器 gerrit query --format=JSON after:2019-01-01 before:2019-12-30 status:merged owner:zhangsan |tee log

# 查询 张三 在2019 全年的提交记录 (仅  aabbcc 分支 和  merged 状态)

ssh -p 29418 gerrit服务器 gerrit query --format=JSON after:2019-01-01 before:2019-12-30  branch:aabbcc  status:merged owner:zhangsan |tee log

转自:https://www.cnblogs.com/perfe/p/6185564.html

本文仅展现个人使用情况和理解,英文原址:https://review.openstack.org/Documentation/cmd-query.html

基本使用格式:

ssh -p <port> <host> gerrit query
  [--format {TEXT | JSON}]             --结果集返回格式 默认为‘text’格式 开发中基本上采用‘json’格式
  [--current-patch-set]                --结果集中的当前补丁信息
  [--patch-sets | --all-approvals]     --结果集中的所有补丁信息 ‘all-approvals’字段会输出补丁的详细信息 如果该字段与 ‘current-patch-set’连用,当前补丁信息会输出两次
  [--files]                            --提供一个补丁集和他们属性及大小信息的列表,该字段必须与 ‘patch-sets’或‘current-patch-set’连用
  [--comments]                         --提供所有change的comments信息,如果该字段与‘patch-sets’连用,comments信息会包含在每个补丁集信息中
  [--commit-message]                   --提供完整的change提交信息
  [--dependencies]                     --显示补丁的依赖信息
  [--submit-records]                   --显示change的详细提交信息
  [--all-reviewers]                    --显示所有review人员的名字和邮箱信息
  [--start <n> | -S <n>]               --跳过N笔change后,开始返回结果集
  <query>                              --查询的限制信息  
  [limit:<n>]                          --限制结果集返回数量

基础限制信息字段:

age:'AGE'
 
    可查询给定时间之前的change信息,如 age:1d 即为查询1天前的所有change信息,以change的最后更新时间为基准
 
    s, sec, second, seconds
 
    m, min, minute, minutes
 
    h, hr, hour, hours
 
    d, day, days (1 day is treated as 24 hours)
 
    w, week, weeks (1 week is treated as 7 days)
 
    mon, month, months (1 month is treated as 30 days)
 
    y, year, years (1 year is treated as 365 days)
 
 
change:'ID'
     
    查询指定change-id的change信息
 
conflicts:'ID'
 
    查询指定conflicts-id的change信息
 
owner:'USER', o:'USER'
 
    查询指定owner的change信息
 
ownerin:'GROUP'
 
    查询指定group人员提交的change信息
 
reviewer:'USER', r:'USER'
 
    查询指定审核人员的change信息
 
reviewerin:'GROUP'
 
    查询指定group人员审核的change信息
 
commit:'SHA1'
 
    Changes where 'SHA1' is one of the patch sets of the change.
 
project:'PROJECT', p:'PROJECT'
 
    查询指定项目下的change信息
 
projects:'xx'
     
    查询项目名以xx开头的所有项目的chage信息
 
parentproject:'PROJECT'
     
    查询指定项目及其子项目的change信息
 
branch:'BRANCH'
     
    查询指定分支的change信息
 
topic:'TOPIC'
 
    查询指定topic的change信息,常与‘branch’,‘project’连用
 
ref:'xxx'
     
    查询目标分支与 xxx匹配的change信息
 
tr:'ID', bug:'ID'
 
    查询提交信息中包含‘bug’的change信息
 
message:'MESSAGE'
     
    查询提交信息包含‘MESSAGE’的change信息
 
comment:'TEXT'
 
    查询comment信息包含指定字符串的 change信息
 
status:xxx
     
    查询指定状态的change
 
(更多字段信息可查看英文原址)

特别强调:

所有的限制字段均可采用 NOT,OR,AND 进行拼接连用
原文地址:https://www.cnblogs.com/onelikeone/p/11703605.html