使用gerrit代码审核工具时遇到error: unpack failed: error Missing unknown d6d7c89bd1d77f44c5c8e99437aaffbfc0684e72 fatal: Unpack error, check server log To ssh://192.168.10.201:29418/MainWeb ! [remote rejected] HEAD -> refs/for/test (n/a (unpacker error)) error: failed to push some refs to 'ssh://admin@192.168.10.201:29418/MainWeb'

问题应该如何解决

  • 在网上查阅资料,发现有一个共同点就是数据库里面有提示的这些对象,但是git仓库里面找不到对应的对象名所以报错了
  • 至于出现这样的现象可能是因为上次杋器意外掉电,导致仓库出现了问题
  • 解决思路,既然是数据库中的多余了,删了是否可靠,觉得可以试试看,因为我们数据库每天都有备份的
  • 错误提示如下
➜  MainWeb git:(test) git push --no-thin origin HEAD:refs/for/test
Counting objects: 3, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 645 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
error: unpack failed: error Missing unknown d6d7c89bd1d77f44c5c8e99437aaffbfc0684e72
fatal: Unpack error, check server log
To ssh://192.168.10.201:29418/MainWeb
! [remote rejected] HEAD -> refs/for/test (n/a (unpacker error))
error: failed to push some refs to 'ssh://admin@192.168.10.201:29418/MainWeb'
  • 操作步骤
  • 提交代码时出现了这个错误,注意关键地方,其实也可以一边操作一边查看后台日志

    //这里‘error Missing unknown d6d7c89bd1d77f44c5c8e99437aaffbfc0684e72’后面跟的那一串字符,对应数据库中gerrit_db.patch_sets表中的revision字段,
# git push --no-thin origin HEAD:refs/for/test
Counting objects: 3, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 645 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
error: unpack failed: error Missing unknown d6d7c89bd1d77f44c5c8e99437aaffbfc0684e72
fatal: Unpack error, check server log
To ssh://192.168.10.201:29418/MainWeb
! [remote rejected] HEAD -> refs/for/test (n/a (unpacker error))
error: failed to push some refs to 'ssh://admin@192.168.10.201:29418/MainWeb'
  • 通过revision可以查到涉及到这个对象的change_id,如下
mysql> select * from patch_sets where revision = 'd6d7c89bd1d77f44c5c8e99437aaffbfc0684e72'\G
*************************** 1. row ***************************
revision: d6d7c89bd1d77f44c5c8e99437aaffbfc0684e72
uploader_account_id: 1
created_on: 2017-01-11 20:47:46
draft: Y
change_id: 1176
patch_set_id: 1
1 row in set (0.00 sec)
  • 通过change_id可以查到changes相关的数据
mysql> select * from changes where change_id = 1176 \G
*************************** 1. row ***************************
change_key: I2c68f2b32537908e55eb19472dea5a418d26b187
created_on: 2017-01-11 20:47:46
last_updated_on: 2017-01-11 20:47:46
owner_account_id: 1
dest_project_name: MainWeb
dest_branch_name: refs/meta/config
status: A
current_patch_set_id: 1
subject: Edit Project Config
topic: NULL
original_subject: Edit Project Config
row_version: 1
change_id: 1176
1 row in set (0.00 sec)
  • 好了,可以尝试先将这两条记录删掉,看看报什么错
mysql> delete from changes where change_id = 1176 ;
Query OK, 1 row affected (0.00 sec) mysql> select * from changes where change_id = 1176 \G
Empty set (0.00 sec) mysql> select * from patch_sets where revision = 'd6d7c89bd1d77f44c5c8e99437aaffbfc0684e72'\G
*************************** 1. row ***************************
revision: d6d7c89bd1d77f44c5c8e99437aaffbfc0684e72
uploader_account_id: 1
created_on: 2017-01-11 20:47:46
draft: Y
change_id: 1176
patch_set_id: 1
1 row in set (0.00 sec) mysql> delete from patch_sets where revision = 'd6d7c89bd1d77f44c5c8e99437aaffbfc0684e72';
Query OK, 1 row affected (0.01 sec) mysql> select * from patch_sets where revision = 'd6d7c89bd1d77f44c5c8e99437aaffbfc0684e72'\G
Empty set (0.00 sec) mysql> select * from patch_sets where change_id = 1176;
Empty set (0.00 sec)
  • 再提交,看看是否还会报错
➜  MainWeb git:(test) git push --no-thin origin HEAD:refs/for/test
Counting objects: 3, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 645 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
error: unpack failed: error Missing unknown d3b7b1a1b0f1250f7115a1173f7137aae5a0c9aa
fatal: Unpack error, check server log
To ssh://192.168.10.201:29418/MainWeb
! [remote rejected] HEAD -> refs/for/test (n/a (unpacker error))
error: failed to push some refs to 'ssh://admin@192.168.10.201:29418/MainWeb'
  • 额,看来还是类似的错误,那我就都删了再看看,操作完看是否可以正常工作了admin账号

  • 还是预期的那样,把库的多余的东西删掉之后就可以正常推送了,push 到远程仓库

  • 多备份下数据库还是有必要的,万一刚刚的操作出问题之后,最起码还是有后悔药的。嘿嘿

➜  MainWeb git:(test) git status
On branch test
Your branch is ahead of 'origin/test' by 1 commit.
(use "git push" to publish your local commits)
nothing to commit, working tree clean
➜ MainWeb git:(test) git push origin
Total 0 (delta 0), reused 0 (delta 0)
remote: Processing changes: closed: 1, refs: 1, done
To ssh://192.168.10.201:29418/MainWeb
4017e4bf..dae0d97d test -> test

gerrit代码审核工具之“error unpack failed error Missing unknown”错误解决思路的更多相关文章

  1. Git review :error: unpack failed: error Missing tree

    环境 git version 1.9.1 Gerrit Code Review (2.11.3) 1 2 现象 修改后调用 git review可以提交到Gerrit上,然后只要一用 git comm ...

  2. error: unpack failed: error Missing tree

    最近新建一个仓库,push时遇到如下问题,试了好多方法,最后在stackoverflow上找到解决办法了,可是在开始时就试过这方法,但不成.至于为嘛出现的这种错误,还是不明白原因. git.exe p ...

  3. gerrit error: unpack failed: error Permission denied

    gerrit服务器迁移后,clone和pull代码到本地,都没问题. 但是,push时,报错: 查看了下git版本库存储目录,发现git下版本库镜像文件owner都是root.因为之前安装的gerri ...

  4. ubuntu搭建Gerrit代码审核服务器

    谷歌的 Android 开源项目在 Git 的使用上有两个重要的创新,一个是为多版本库协同而引入的 repo,另外一个重要的创新就是 Gerrit —— 代码审核服务器.Gerrit 为 git 引入 ...

  5. Gerrit代码审核服务器搭建全过程

    Gerrit代码审核服务器搭建全过程 转载请标明出处:http://blog.csdn.net/ganshuyu/article/details/8978614 环境:Ubuntu12.xx 1.建立 ...

  6. GitBlit中出现 error: remote unpack failed: error Missing tree

    clu@WASYGSHA01-1020 MINGW64 /d/ChuckLu/Git/Edenred/LISA_5.0.0.0 (local)$ git push origin preaction:p ...

  7. Failed dependencies: 检查依赖性错误 解决方法

    centOs下: error: Failed dependencies: 检查依赖性错误 解决方法 刚才安装avast的linux版,结果出现了: [root@localhost /]# rpm -i ...

  8. jenkins集成sonar代码审核工具

    在项目测试管理过程中,项目上线很多时候时间仓促,导致代码质量不高,测试时间不充分会导致线上出现各种各样的问题,这个时候一方面是增加测试的质量把控,还要从根本上解决开发小哥的代码质量问题.而Sonar这 ...

  9. Error:Execution failed for task ':app:transformClassesWithDexForDebug'解决记录

    转载请标明出处: http://blog.csdn.net/lxk_1993/article/details/50511172 本文出自:[lxk_1993的博客]:   3个错误non-zero e ...

随机推荐

  1. node sever

    一.基础创建服务器 // 引入Http var http = require("http"); // 创建服务器 http.createServer(function(reques ...

  2. java nio探险

    区别于io: nio是基于通道和缓冲区的,io是基于字节流和字符流的,(千万别被这些破名词唬住).以读取文件为例,文件就是自来水厂,通道就是自来水管道,缓冲区就是你家的缸(或者盛水的xx容器,例如你的 ...

  3. ZOJ 3607 Lazier Salesgirl (枚举)

    Lazier Salesgirl Time Limit: 2 Seconds Memory Limit: 65536 KB Kochiya Sanae is a lazy girl who makes ...

  4. 可序列化对象和byte[]数组之间的互转

    /// <summary> /// 将可序列化对象转成Byte数组 /// </summary> /// <param name="obj">对 ...

  5. Centos7.0安装mysql5.6

    环境 CentOS 7.0(64-bit system) mysql-5.6.37 一.mysql依赖libaio,所以要先安装libaio # yum search libaio           ...

  6. 并发编程 - 进程 - 1.互斥锁/2.模拟抢票/3.互斥锁与join区别

    1.互斥锁: 互斥锁:Lock 原理就是把并发变成串行,一个一个运行,不错乱,但效率低 保证多个进程修改一块数据时,大家是一个一个修改,不错乱 mutex.acquire() mutex.releas ...

  7. Keywords Search---hdu2222(AC自动机 模板)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2222 一个常见的例子就是给出n个单词,再给出一段包含m个字符的文章,让你找出有多少个单词在文章里出现过 ...

  8. LInux进程虚拟地址空间的管理

    2017-04-07 脱离物理内存的管理,今天咱们来聊聊进程虚拟内存的管理.因为进程直接分配和使用的都是虚拟内存,而物理内存则是有系统“按需”分配给进程,在进程看来,只知道虚拟内存的存在! 前言: 关 ...

  9. Linux升级python至3.4.4

    wget https://www.python.org/ftp/python/3.4.4/Python-3.4.4.tgz ls .tgz mkdir /usr/local/python3 cd Py ...

  10. jupter nootbok 快捷键、NumPy模块、Pandas模块初识

    jupter nootbok 快捷键 插入cell:a b 删除cell:x cell模式的切换:m:Markdown模式 y:code模式 运行cell:shift+enter tab:补全 shi ...