使用SourceTree和Git时出现错误:'Summary'失败,代码为128:致命错误:无法读取树

9
我们在使用SourceTree与我们特定的Git仓库时,看到了一个弹出对话框,并显示以下错误信息:
'Summary' failed with code 128: fatal: unable to read tree 152c27e57424de6ae0df1f0d32feba7beae6e2fb
这个错误消息每天会多次弹出。
日志中没有其他信息,在命令行上使用Git无法重现此错误消息。当我们运行一些测试时:
Craig@DEMO-PC /d/project (major)
$ git cat-file -t 152c27e
tree

Craig@DEMO-PC /d/project (major)
$ git cat-file -p 152c27e
040000 tree 174f073109a9d0721b35e84140d0a7b29dc48ef9    main
040000 tree fb011d0153c1521441d583196a93f945dcb0df1e    test

一次git ls-tree -r 152c27e的运行将列出树的所有子项,这证实了它是我们Java项目的src文件夹。
此外,git fsck --full命令成功运行而没有错误。对象和对象目录都完好无损,并且没有悬挂项。对象的权限似乎也很好。
有什么我们可以做来检查我们的存储库状态,或尝试重现错误消息吗?

你是否尝试过 git show 152c27e57424de6ae0df1f0d32feba7beae6e2fb?另外,这似乎是一个SourceTree的特定问题,你可以直接向他们寻求支持获得更多帮助。 - number5
是的,git show 只显示了三行:tree 152c273main/test/。我在这里的原因是,出现的错误对话框显然是 Git 的错误消息,但我不知道消息的原因是 Git 的问题还是 SourceTree 的问题。我只是想复制他们运行的任何可能引起问题的命令。 - Craig Otis
你可以尝试使用grep命令搜索git源代码(如果有的话,还可以搜索SourceTree源代码),以查找是否是该错误消息的来源。 - Jakub Narębski
当您使用SourceTree克隆存储库并使用它时,是否会出现相同的错误? - janmoesen
你尝试升级SourceTree了吗?理论上,他们为https://jira.atlassian.com/browse/SRCTREEWIN-939添加了更多的日志信息。如果你仍然有问题,我建议直接向Atlassian填写支持工单。 - Kerry Liu
显示剩余2条评论
1个回答

7

可能是权限问题,其中:

  • 从当前用户的角度来看,权限看起来很好
  • 从运行SourceTree的帐户来看,权限不太好

在2013年2月曾有一个类似的案例报告,但没有任何答案。
但这不仅限于SourceTree:

清除工作区可以完全解决问题。

一些用于验证git用户的Redmine私钥在gitolite配置中被重命名了。

因此,这通常涉及到进程以与预期用户不同的用户身份访问数据。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接