有时,同事会对我的代码更改留下评论,我在gerrit中发布了这些评论。然而,要看到他们,我必须:
最好是看到一个代码片段的列表,这些代码片段有按时间排序的注释。那样的话,我就不用在编辑历史记录上到处点击了。
我如何列出所有的评论张贴在我的变化,在gerrit?
发布于 2017-01-17 17:44:22
您可以尝试使用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
发布于 2017-01-17 17:05:06
看起来好像至少某个版本的gerrit会在主评论页面上显示所有的评论。例如,看看本评论。在这个gerrit实例中,所有的文件注释都将在这里列出,以及指向文件的链接和对单个注释的直接链接。我不知道这是Gerrit股票,还是有局部修改,但在后一种情况下,它们可以在某个地方公开使用。
您可以使用gerrit命令行api获取相同的信息。如果您的Gerrit主机是review.openstack.org:29418,则可以运行:
ssh -p 29418 yourusername@review.openstack.org gerrit query --comments --current-patch-set <changeid>
其中<changeid>
是Gerrit或change。这将显示与当前修补程序集关联的所有注释,包括文件中的内联注释。您可以将--current-patch-set
替换为--patch-sets
,以查看所有修补程序集的情况。
您可以将--json
添加到查询中以获得JSON输出,如果您想用某种脚本包装JSON输出,这是非常有用的。
发布于 2019-03-26 09:00:09
如果只想检索注释的内容,可以在jq中使用ssh。
ssh -p 29418 yourusername@review.openstack.org gerrit query --comments --current-patch-set <change_ID> --format=JSON | jq '.comments []? | .message'
或者使用jq -r
获得没有颜色的原始输出。
https://stackoverflow.com/questions/41698962
复制相似问题