gerrit代码审核工具之“error unpack failed error Missing unknown”错误解决思路
使用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”错误解决思路的更多相关文章
- 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 ...
- error: unpack failed: error Missing tree
最近新建一个仓库,push时遇到如下问题,试了好多方法,最后在stackoverflow上找到解决办法了,可是在开始时就试过这方法,但不成.至于为嘛出现的这种错误,还是不明白原因. git.exe p ...
- gerrit error: unpack failed: error Permission denied
gerrit服务器迁移后,clone和pull代码到本地,都没问题. 但是,push时,报错: 查看了下git版本库存储目录,发现git下版本库镜像文件owner都是root.因为之前安装的gerri ...
- ubuntu搭建Gerrit代码审核服务器
谷歌的 Android 开源项目在 Git 的使用上有两个重要的创新,一个是为多版本库协同而引入的 repo,另外一个重要的创新就是 Gerrit —— 代码审核服务器.Gerrit 为 git 引入 ...
- Gerrit代码审核服务器搭建全过程
Gerrit代码审核服务器搭建全过程 转载请标明出处:http://blog.csdn.net/ganshuyu/article/details/8978614 环境:Ubuntu12.xx 1.建立 ...
- 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 ...
- Failed dependencies: 检查依赖性错误 解决方法
centOs下: error: Failed dependencies: 检查依赖性错误 解决方法 刚才安装avast的linux版,结果出现了: [root@localhost /]# rpm -i ...
- jenkins集成sonar代码审核工具
在项目测试管理过程中,项目上线很多时候时间仓促,导致代码质量不高,测试时间不充分会导致线上出现各种各样的问题,这个时候一方面是增加测试的质量把控,还要从根本上解决开发小哥的代码质量问题.而Sonar这 ...
- Error:Execution failed for task ':app:transformClassesWithDexForDebug'解决记录
转载请标明出处: http://blog.csdn.net/lxk_1993/article/details/50511172 本文出自:[lxk_1993的博客]: 3个错误non-zero e ...
随机推荐
- 160316、实时处理oracle数据库中表的数据变化
http://blog.csdn.net/as339000204/article/details/45390727 近期接受项目需求,需要实时处理oracle数据库中表的数据变化,首先想到的是 ...
- Oracle分配内存的基本单位:Granule(粒度)
在9i后,SGA的内部组件大小可以动态调整,也可以由数据库自动管理,在设置内存大小的时候,分配的基本单位是粒度(granule) granule是一段连续的虚拟内存,大小区域决SGA_MAX_SIZE ...
- NFS服务基础
NFS服务部署: (一)NFS环境准备: 操作系统 角色 IP地址 CentOS Linux release 7.3.1611 (Core) NFS服务端 192.168.152.138 CentOS ...
- HDFS基本工作机制
- 爬虫之Xpath详解
XPath介绍 XPath 是一门在 XML 文档中查找信息的语言.XPath 可用来在 XML 文档中对元素和属性进行遍历. XPath 是 W3C XSLT 标准的主要元素,并且 XQuery 和 ...
- 1. testNG+Maven 环境搭建
一:使用的工具 : TestNG 6.9.10 Maven 3.5 IDEA 二:创建maven项目,在pom.xml添加依赖 <?xml version="1.0" enc ...
- Java基础—输入输出流
流的概念 在Java中,流是从源到目的地的字节的有序序列.Java中有两种基本的流——输入流(InputStream)和输出流(OutputStream). 根据流相对于程序的另一个端点的不同,分为节 ...
- macOS Sierra上ssh免密码登录linux服务器
1.生成私钥文件 在客户端终端下输入以下命令 ssh-keygen -t rsa 每次执行 ssh-keygen -t rsa 产生的私钥文件都会不同 如果文件"~/.ssh/id_rsa& ...
- matplotlib显示栅格图片
参考自Matplotlib Python 画图教程 (莫烦Python)(13)_演讲•公开课_科技_bilibili_哔哩哔哩 https://www.bilibili.com/video/av16 ...
- #pragma 的用法
它的作用是设定编译器的状态或者是指示编译器完成一些特定的动作.#pragma指令对每个编译器给出了一个方法,在保持与C和C++语言完全兼容的情况下,给出主机或操作系统专有的特征.依据定义,编译指示是机 ...