51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 1393|回复: 0
打印 上一主题 下一主题

[转贴] Git review :error: unpack failed: error Missing tree

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2019-3-1 14:45:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

环境
git version 1.9.1
Gerrit Code Review (2.11.3)

现象
修改后调用 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'

解决方案
经过多方查资料,是提交时的 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


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-5-10 22:17 , Processed in 0.063198 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表