没有找到Gerrit审查,尽管存在于DB中



我们正在使用Gerrit 2.12MySQL DB。有一个审查打开了一段时间,但当我试图从Gerrit UI访问它,我得到以下错误。

找不到您请求的页面,或者您没有权限查看该页。

我已登录UI,并且我的帐户具有管理功能。我可以看到数据库中changes表中变化的条目。驯鹿应该解决这个问题吗?我更好奇的是,是什么触发了UI变化的消失。

我也遇到了同样的问题。我已经通过克隆refs/changes分支下的相应更改来验证更改是否存在于存储库中。

正如文档所说,当提交被推入审查时,Gerrit将其存储在一个暂存区域,该暂存区域是特殊refs/changes/命名空间中的分支。变更ref的格式为refs/changes/XX/YYYY/ZZ,其中YYYY为数字变更号,ZZ为补丁集号,XX为数字变更号的后两位数字,例如refs/changes/20/884120/1。使用Gerrit并不需要理解此ref的格式。

使用change ref, git客户端可以获取相应的提交,例如本地验证。

git clone <URL>
cd <reponame>
git fetch https://yourhostname/reponame refs/changes/16/261016/1 && git checkout FETCH_HEAD

如果你发现读取成功,这意味着改变已经存在,因此一个完整的重新索引作为适当的用户应该修复。

su gerrit -c "java -jar gerrit.war reindex"

p。在线索引对我的情况没有帮助。我必须像上面那样做一个完整的离线重新索引

最新更新