zoukankan      html  css  js  c++  java
  • gerrit 在git review的时候碰上miss unkown + hash值

    案例:gerrit 在git review的时候碰上miss unkown + hash值,现象如下

    xxx@xxxx:~/share/37N/master_gerrit/OS_gerrit_ALPS-MP-N0.MP1-V1.0.2_PRI6737M_65_N$ git review
    error: unpack failed: error Missing unknown b717c6e642d0a5e649099e761d2f6aa37804ac1d
    fatal: Unpack error, check server log
    To ssh://xxxx@192.168.1.49:29418/OS_gerrit_ALPS-MP-N0.MP1-V1.0.2_PRI6737M_65_N
    ! [remote rejected] HEAD -> refs/publish/master (n/a (unpacker error))


    查看gerrit的error日志:

    Error in GET /changes/561/revisions/b717c6e642d0a5e649099e761d2f6aa37804ac1d/commit?links
    com.google.gwtorm.server.OrmException: com.google.gerrit.server.patch.PatchSetInfoNotAvailableException: org.eclipse.jgit.errors.MissingObjectException: Missing unknown b717c6e642d0a5e649099e761d2f6aa37804ac1d

    ....

    其中有两个很关键的参数,561是它的CHANGE_ID, b717c6e642d0a5e649099e761d2f6aa37804ac1d是它对应的哈希值

    查看了相关的文档,知道可能造成的原因是,对应的仓库被删掉了,但是gerrit审核页面上面还有此仓库待审核的事项没有处理,导致gerrit在数据库还有此仓库的记录。


    解决方法:

    1-停止gerrit。/etc/init.d/gerrit stop

    2-找到安装gerrit时的war包,执行java -jar gerrit-2.11.4.war gsql

    进入gsql数据库,找到表CHANGES和PATCH_SETS,然后删掉.(注意一定要找到对应的哈希值的记录)

    具体的数据库操作命令是  

    delete changes where change_id=561

    delete patch_sets where change_id=561

    3-然后重启gerrit 

  • 相关阅读:
    20171104 DOI Excel 导出
    ABAP 字符串处理
    SE80 开发对象
    ABAP开发中message dump
    物料单位转换的两个函数
    ABAP 多行消息分别显示弹窗
    隐藏你写的程序代码
    学习笔记:Javascript 变量 包装对象
    访问平安银行网站时出现证书问题 NET::ERR_CERT_SYMANTEC_LEGACY
    关于跨域问题
  • 原文地址:https://www.cnblogs.com/to-be-rich/p/7427171.html
Copyright © 2011-2022 走看看