收集所有Gerrit评论

时间:2018-04-23 09:28:20

标签: git gerrit

对于我目前的研究,我想收集来自Gerrit个实例的所有已结算评论,例如来自Gerrit itself

我的第一次尝试是通过REST API。但是,Gerrit管理员设置了limit for queries。所以我无法收集所有评论,对于大型实例来说它很慢。

会有一个工具,即Perceval,但这需要SSH访问,显然我没有。

所以我想我需要重温git。据我了解,审核中的所有审核/更改都存储在refs/changes/...中。

所以我

git ls-remote https://gerrit.googlesource.com/gerrit | grep /changes/ | awk '{print $2;}' 

列出所有头:

...
refs/changes/99/99999/3
refs/changes/99/99999/4
refs/changes/99/99999/5
refs/changes/99/99999/meta
...

然后我可以遍历这个列表。 但

git fetch https://gerrit.googlesource.com/gerrit refs/changes/99/99999/meta

不起作用。

我还尝试使用

镜像git存储库
git clone --mirror https://gerrit.googlesource.com/gerrit

但这不包括changes文件夹。

我走错了路吗?我该怎么做?当然,也欢迎全新的想法!

2 个答案:

答案 0 :(得分:1)

不幸的是,我的方法是不可能的 - 但是。正如documentation states

  

尽管正在努力消除数据库的使用   完全,并将所有元数据直接存储在git中   存储库本身。到目前为止,格里特2.2.1,所有格里特的   元数据,只迁移了项目配置元数据   超出数据库并进入每个项目的git存储库。

所以我希望将来有一个解决方案。

答案 1 :(得分:1)

这对我有用:

git fetch origin +refs/changes/*:refs/remotes/origin/changes/*

我尚未针对公共Google Gerrit实例尝试过它,但它适用于我们公司中使用的私有Gerrit实例。

也许有人觉得它有用。