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

被折叠的 条评论
为什么被折叠?



