环境

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 review

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 的问题,默认是开着的,要把它关掉

有人说

  • 在工程的 .gitreview 下的 Gerrit节点下增加 disablethinpush=true
  • 在 /etc/git-review/git-review.conf 中添加 disablethinpush=true
  • 用 git push --no-thin ...来解决,因为这是一个BUG
  • 涉及到库更改时候有未关闭的的patch,更新gerrit的数据库

好吧,我承认在Git使用上我是菜鸟,我只是用 git review来提交而已。捣鼓了半天上面的N种列出来没列出来的解决方案,都失败

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

执行命令git review --no-thin :失败 
无意间看到 git review -h 有个命令行参数 -n 
执行命令git review -n :

Please use the following command to send your commits to review: 
git push gerrit HEAD:refs/publish/master

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

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

成功了!!!!

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

结论

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

参考

https://libraries.io/github/savoirfairelinux/git-review 
https://bugs.launchpad.net/git-review/+bug/1332549 
http://www.cnblogs.com/qingliuyu/p/4510233.html

最新文章

  1. bash shell
  2. Linux Shell 学习总结
  3. 我和Lua并非一见钟情,我们期待着日久生情(相遇篇)
  4. 1055: [HAOI2008]玩具取名
  5. [Android] Intent详解
  6. 总结Selenium自动化测试方法(一)自动化测试基础
  7. CSS溢出文本省略(text-overflow)
  8. 【UVA1379】Pitcher Rotation (贪心+DP)
  9. nat123 与微信公众号开发者测试账号配合调试
  10. Linux基础知识入门
  11. UIView详解1
  12. [BC]Four Inages Strategy(三维空间判断正方形)
  13. C# Thread IsAlive 理解
  14. 各个版本的 Oracle 11.2.0.4下载地址
  15. git如何将一个分支合并到另一个分支?
  16. 使用python操作word
  17. 【JavaScript】js 中一些需要注意的问题
  18. Android_字符串转换
  19. 【CF163E 】e-Government
  20. 1256 Anagram

热门文章

  1. java基础---->摘要算法的介绍
  2. 谈谈KV存储集群的设计要点
  3. sencha touch 扩展篇之使用sass自定义主题样式 (下)通过css修改官方组件样式以及自定义图标
  4. rpm方式安装 gitlab centos7
  5. poj3734 Blocks[矩阵优化dp or 组合数学]
  6. PL/SQL developer 可以连接本地数据库,但是不可以连接远程数据库的解决方法
  7. Android搜索自动提示功能 AutocompleteTextView
  8. spring的AOP个人理解和使用
  9. Centos设置SSH限制登录用户及IP
  10. IIS中User-mode caching引起的Cache-Control不为public的问题