【问题标题】:Error when using SourceTree with Git: 'Summary' failed with code 128: fatal: unable to read tree将 SourceTree 与 Git 一起使用时出错:“摘要”失败,代码 128:致命:无法读取树
【发布时间】:2013-09-27 16:02:27
【问题描述】:

在将 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

git ls-tree -r 152c27e 的运行会吐出树的所有子节点,这确认它是我们 Java 项目的 src 文件夹。

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

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

【问题讨论】:

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

标签: git atlassian-sourcetree


【解决方案1】:

它可能是permission issue,其中:

  • 从当前用户的角度来看,权限看起来不错
  • 运行 SourceTree 的帐户的权限不正确

有一个similar case reported back in February 2013, without any answer
但它不仅限于 SourceTree:

清除工作区可以彻底解决问题。

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

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

【讨论】:

    猜你喜欢
    • 2019-10-22
    • 1970-01-01
    • 1970-01-01
    • 2013-09-02
    • 1970-01-01
    • 2012-06-18
    • 1970-01-01
    • 2019-01-20
    相关资源
    最近更新 更多