在这里和那里,同事对我在gerrit上发布的代码更改发表评论。但要看到它们,我必须:
查看具有注释的代码片段列表会更好,按时间排序。这样,我就不必点击我的编辑历史了。
如何列出我在gerrit更改中发布的所有评论?
答案 0 :(得分:2)
您可以尝试使用REST来检索此类信息。
1)列出您创建的所有未决更改:
curl -s --request GET --netrc https://GERRIT-SERVER/a/changes/?q=owner:self+AND+status:open | sed 1d | jq --raw-output ".[] | ._number"
2)列出变更的所有评论(及其日期):
curl -s --request GET --netrc https://GERRIT-SERVER/a/changes/CHANGE-NUMBER/comments | sed 1d | jq --raw-output ".[] | .[] | {Updated: .updated, Message: .message}"
做1 + 2:
for c in $(curl -s --request GET --netrc https://GERRIT-SERVER/a/changes/?q=owner:self+AND+status:open | sed 1d | jq --raw-output ".[] | ._number")
do
curl -s --request GET --netrc https://GERRIT-SERVER/a/changes/$c/comments | sed 1d | jq --raw-output ".[] | .[] | {Updated: .updated, Message: .message}"
done
答案 1 :(得分:1)
看起来有些版本的gerrit,至少会在主要评论页面上显示所有评论。例如,看看this review。查看注释没有补丁集20.至少在这个gerrit实例中,所有文件注释都将在此处列出,以及指向文件的链接和指向各个注释的直接链接。我不知道这是Gerrit的存货还是它有本地修改,但在后一种情况下,它们可以在某处公开发布。
您可以使用gerrit命令行api获取相同的信息。如果您的Gerrit主机是review.openstack.org:29418,您可以运行:
<changeid>
其中--current-patch-set
是Gerrit更改ID或更改编号。这将显示与当前补丁集关联的所有注释,包括文件的内联注释。您可以将--patch-sets
替换为--json
,以查看所有补丁集。
您可以将{{1}}添加到查询中以获取JSON输出,如果您希望使用某种类型的脚本来包装它以使显示更漂亮,那么这将非常有用。
答案 2 :(得分:0)
如果只想检索注释的内容,可以将ssh与jq一起使用。
ssh -p 29418 yourusername@review.openstack.org gerrit query --comments --current-patch-set <change_ID> --format=JSON | jq '.comments []? | .message'
或使用jq -r
获取没有颜色的原始输出。