git push报错:error: unpack failed: error Missing unknown
https://zhidao.baidu.com/question/1111993209012214539
remote: Resolving deltas: 100% (2/2)
error: unpack failed: error Missing unknown 613fd2557fba30aff2dbd51c3807cc57561bab08
fatal: Unpack error, check server log
To ssh://newptone@review.ustack.com:29418/neutron.git
! [remote rejected] HEAD -> refs/publish/datong (n/a (unpacker error))
error: failed to push some refs to 'ssh://newptone@review.ustack.com:29418/neutron.git'
#####################################################################
出现类似到错误是因为删除原先的旧有代码,而gerrit上相关的代码旧提交未处理导致到。存在数据库中的neutron.git库patch_set找不到对应的object。
解决方法:登录到gerrit server 进入数据库我这边用到是H2数据库
java -jar bin/gerrit.war gsql
\d
select * from PATCH_SETS ;
查找到613fd2557fba30aff2dbd51c3807cc57561bab08对应到ID
CREATED_ON | DRAFT | REVISION | UPLOADER_ACCOUNT_ID | CHANGE_ID | PATCH_SET_ID
------------------------+-------+------------------------------------------+---------------------+-----------+-------------
2015-01-04 15:57:08.423 | N | 613fd2557fba30aff2dbd51c3807cc57561bab08 | 1000002 | 1 | 1
然后update changes set open='N',status='A' where change_id=1;
status=A (Abandon)
回网页看提交已经没有了。
refs:
https://zhidao.baidu.com/question/1111993209012214539
https://www.cnblogs.com/jiangzhaowei/p/7922541.html
https://cn-blogs.cn/archives/7128.html