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 commit --amend修改 Commit Message再提交,就会出现此错误;而若是不修改Commit Message,而只是修改增长文件,那么能够用 --amend提交再 git reviewgit

error: unpack failed: error Missing tree 8d89499daadf6417347218b630b5cae57e7fa27c
fatal: Unpack error, check server log
To ssh://user1@review.zjc.com:29418/test-project1.git
 ! [remote rejected] HEAD -> refs/publish/master (n/a (unpacker error))
error: failed to push some refs to 'ssh://user1@review.zjc.com:29418/test-project1.git'
1
2
3
4
5
解决方案
通过多方查资料,是提交时的 thin push 的问题,默认是开着的,要把它关掉数据库

有人说ssh

在工程的 .gitreview 下的 Gerrit节点下增长 disablethinpush=true
在 /etc/git-review/git-review.conf 中添加 disablethinpush=true
用 git push --no-thin ...来解决,由于这是一个BUG
涉及到库更改时候有未关闭的的patch,更新gerrit的数据库
好吧,我认可在Git使用上我是菜鸟,我只是用 git review来提交而已。捣鼓了半天上面的N种列出来没列出来的解决方案,都失败命令行

好吧,说出来我碰巧获得的一个这种方案server

执行命令git review --no-thin :失败 
无心间看到 git review -h 有个命令行参数 -n 
执行命令git review -n : 
Please use the following command to send your commits to review: rem

    git push gerrit HEAD:refs/publish/master
执行 git push gerrit HEAD:refs/publish/master : 仍是那个错误it

执行 git push --no-thin gerrit HEAD:refs/publish/masterio

成功了!!!!ast

好吧,我笨 && 牛人的世界我不懂test

结论 加一个结论吧,啰嗦一大堆,其实就2句话是关键  执行 git review,若是出现错误就执行 git push --no-thin gerrit HEAD:refs/publish/master  

相关文章
相关标签/搜索