本文是自己工作中遇到的gerrit有关问题的解决办法汇总。
问题1:代码服务器崩溃后发现有的库无法同步
提示问题如下:
user@ce-ubt02:~/temp$ ./repo sync msm8909-la-3-1-1_amss_standard_oem/platform/external/trappy
Fetching project msm8909-la-3-1-1_amss_standard_oem/platform/external/trappy
remote: Counting objects: 5242, done
remote: Finding sources: 100% (5242/5242)
error: inflate: data stream
error (incorrect data check)
fatal: pack has bad object at offset 7862251: inflate returned -3
fatal: index-pack failed
解决过程:
1、首先百度错误原因,比如说git版本不匹配,提交commit错误,需要重建库等,总之没有发现有用信息;
2、由于之前代码服务器崩溃,所以首先怀疑是数据被破坏导致的,重新恢复了备份;
3、将恢复后的数据,直接在gerrit服务器替换坏的,尝试repo sync还是失败,git clone这个库也是失败;
4、但是如果不是替换,而是重命名,比如命名成msm8909-la-3-1-1_amss_standard_oem_65,发现可以成功;
5、怀疑gerrit系统有缓存,重启代码服务器后,发现就可以了,这破事搞的。同样也可以用gerrit命令刷c