gerrit命令行查询change信息

本文介绍了Gerrit命令行查询change信息的基本使用格式和常见选项,强调了所有限制字段可以使用NOT,OR,AND进行组合。讨论了标签查询,并指出属性值的特殊要求。举例说明如何查询2019年1月1日至2月1日期间,提交到以'TEST_'开头项目且已合并的提交信息。

【Gerrit】Gerrit cmd query

  • 基本使用格式:
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
limit:<n>    
	参数指定查询结果包含的changes数量
	
  • 特别强调:
    所有的限制字段均可采用 NOT,OR,AND 进行拼接连用

  • 常见选项说明:

--format=TEXT,默认
--format=JSON
--current-patch-set,给出当前patch set的信息
--patch-sets,给出所有patch set的信息
--commit-message,给出change的完整commit message
--all-reviewers,给出所有reviewer的name和email
  • 标签query说明:
status:open等价于status:pending, is:open, is:pending
owner:self等价于is:owner
reviewer:self等价于is:reviewer
project:bbauto/bba或p:bbauto/bba
projects:bb
branch:develop或branch:refs/heads/develop
change:2311176或change:I03369813660369e983b56dcabe4cb48839be4de0
commit:4e8ea8d43ab22273e4949348e1e7316f88cd54e3
ref:refs/changes/76/2311176/1
message:my_commit_message
is:visible
label:Code-Review=2或label:Code-Review=+2或label:Code-Review+2
label:Verified+1
  • 补充:
    属性值除了bare words (数字、大小写字母和@-_.)之外,必须使用""或{}包含
    多个属性之间默认为and关系,还有or关系,或者取反not/-
  • 举例说明:
    查询在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 :查询时间范围

官方文档地址:https://review.openstack.org/Documentation/cmd-query.html

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值