将SourceTree与Git一起使用时出错:';总结';失败,代码128:致命:无法读取目录树

将SourceTree与Git一起使用时出错:';总结';失败,代码128:致命:无法读取目录树,git,atlassian-sourcetree,Git,Atlassian Sourcetree,我们看到,在将SourceTree与我们的特定Git存储库一起使用时,会弹出一个对话框,并显示错误消息: “摘要”失败,代码128:致命:无法读取树152c27e57424de6ae0df1f0d32feba7beae6e2fb 每天会弹出多次错误消息 日志中没有其他信息,我们无法在命令行上使用Git重现错误消息。当我们运行一些测试时: Craig@DEMO-PC /d/project (major) $ git cat-file -t 152c27e tree Craig@DEMO-PC /

我们看到,在将SourceTree与我们的特定Git存储库一起使用时,会弹出一个对话框,并显示错误消息:

“摘要”失败,代码128:致命:无法读取树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
运行
gitls-tree-r 152c27e
会吐出树的所有子级,从而确认它是我们Java项目的
src
文件夹

此外,
git fsck--full
成功,没有错误。对象和对象目录是100%的形状,没有悬空的项目。对象的权限似乎没有问题


我们是否可以做些什么来双重检查存储库的状态,或者尝试重现错误消息?

可能是一个错误,其中:

  • 从当前用户的角度来看,权限看起来不错
  • 运行SourceTree的帐户的权限不正确
有一个问题。
但它不仅限于SourceTree:

  • :
清除工作区完全解决了问题

不知何故,Redmine使用私钥对git用户进行身份验证,git用户在gitolite配置中被重命名


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

您是否尝试过git show 152C27E5742DE6AE0DF1F0D32FEBA7BEAE6E2FB?另外,它看起来像是一个SourceTree特定的问题,您可能有更多的机会询问他们的直接支持。是的,
git show
只显示了三行:
tree 152c273
main/
,和
test/
。我在这里询问的原因是显示的错误对话框显然是Git错误消息,但我不知道消息的原因是Git问题还是SourceTree问题。我只是试图重现他们正在运行的导致问题的任何命令。您可以尝试grep git源代码(以及SourceTree源代码,如果可用),以确定它是否是上述错误消息的来源。这可能是嵌入式git和system git的问题。尝试在工具->选项菜单中升级(注意:完全未测试)当您
git clone
存储库并将其与SourceTree一起使用时,是否会出现相同的错误?