如何列出我在gerrit中更改的所有评论?

时间:2017-01-17 13:55:02

标签: git gerrit

在这里和那里,同事对我在gerrit上发布的代码更改发表评论。但要看到它们,我必须:

  • 点击更改列表中的gerrit更改。此链接甚至不表示是否有任何评论    image description
  • 然后查看文件列表,然后点击评论列中的任何内容    image description
  • 然后我可以阅读评论

查看具有注释的代码片段列表会更好,按时间排序。这样,我就不必点击我的编辑历史了。

如何列出我在gerrit更改中发布的所有评论?

3 个答案:

答案 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获取没有颜色的原始输出。