gerrit 在git review的时候碰上miss unkown + hash值

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

[email protected]:~/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://[email protected]: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

时间: 2024-09-30 18:35:38

gerrit 在git review的时候碰上miss unkown + hash值的相关文章

如何搭建gerrit开源code review工具

搭建环境:Ubuntu 14.04 一.环境准备 1.Java环境 gerrit依赖,用于安装gerrit环境. 下载:jdk-7u79-linux-x64.tar.gz http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html 安装:sudo tar zxvf ./jdk-7u79-linux-x64.tar.gz -C /opt 配置:vim ~/.bashrc export JAV

gerrit的git配置流程

1.配置环境变量 配置git全局用户名 git config --global user.name "qujunorz" git config --global user.email "[email protected]" #gerrit中注册的用户名与邮箱 修改.git/config [remote "gerrit"]         url = ssh://[email protected]$代码url地址         fetch = +

git review出现的问题

在提交代码review的时候可能会出现 Could not connect to gerrit.Enter your gerrit username: xxxxTrying again with ssh://[email protected]:29418/openstack/oslo.messaging.git<traceback object at 0xb6fe493c>We don't know where your gerrit is. Please manually create a

git review时出现fatal: ICLA contributor agreement requires current contact information.错误

使用git review时出现错误: fatal: ICLA contributor agreement requires current contact information. Please review your contact information: https://review.openstack.org/#/settings/contact fatal: Could not read from remote repository. Please make sure you have

git 打补丁,即git review之后需要二次修改并提交代码

假如代码已经push上去了,可是当review时,发现有地方需要修改,你可以继续在本地修改你的文件,之后git status查看修改的文件,然后git add修改的文件,此时不能直接git commit了,因为git commit之后会产生新的commit ID,而你想做的是把这次的修改与上次的修改合并到一起,所以这次要commit到之前生成的ID上边,在git中这样的操作叫做打patch.这里我只会用git GUI commit到上一次ID中: 1>     跟第一次修改一样进行git add

Git 一些简单命令

Git的一些常用命令: 1.init,创建一个git仓库 [[email protected] git]# cd /usr/local/ [[email protected] local]# mkdir github [[email protected] local]# cd github [[email protected] git]# git init Initialized empty Git repository in /usr/local/github/.git/ [[email pr

git命令行使用

1. git命令行配置 1)安装完git客户端之后,在任意目录右键鼠标,选择Git GUI Here 2)在打开的窗口中依次选择Help->> Show SSH Key 2)如果弹出的窗口中中间部分没有key,可以点击 Generate Key 按钮,生成key,然后将生成的key拷贝一下,添加到gitlab中即可. 2. 命令使用 1)下载代码 在存放代码的目录中,右键鼠标,选择 Git Bash Here,然后会打开终端窗口 输入: git init   创建git配置目录 输入下面命令,

git版本管理工具的上手

git是一个分布式的版本管理工具 和其他集中式版本管理 工具相比具有以下优点: 1.可以在不联网的情况下开发 2.可以方便的建立本地分支 3.本地化的日志,快速获得信息 git命令的使用 mkdir /d/myproject  (在本地d盘下面创建一个名为myproject的本地仓库) cd /d/myproject    (切换到该目录下) git init  (初始化为主枝) git add filename  (添加一个文件的记录   一次只能添加一个文件) git commit -m "

通过实际操作学习git

基本操作 1. git init  -- 初始化仓库   使用git进行版本管理,必须先初始化仓库.步骤 建立一个目录,然后初始化仓库. 1 $ mkdir git-tutorial 2 $ cd git-tutorial/ 3 $ git init 4 Initialized empty Git repository in C:/Users/LXY/git-tutorial/.git/ 5 6 [email protected] MINGW64 ~/git-tutorial (master)