【问题标题】:fatal: git-write-tree: error building trees致命:git-write-tree:构建树时出错
【发布时间】:2010-11-24 06:46:36
【问题描述】:

我正在尝试使用 git-svn 将大型 subversion 存储库导入 git(这样我可以在 git 中工作,但仍不时提交 subversion)。在导入超过 4000 个修订后,我现在在运行 git svn fetchgit svn rebase 时遇到以下错误,我无法摆脱:

$ git svn fetch
error: invalid object 100644 1f2....742 for 'src/path/.../file.cs'
fatal: git-write-tree: error building trees
write-tree: command returned error: 128

到目前为止我已经尝试过:

  • git fsck --full 不报告任何内容,git fsck --unreachablegit fsck --no-reflog 也不报告
  • git gc --aggressive 没有帮助
  • 将单个包文件移走并使用 git unpack-objects 重新导入它没有帮助
  • git svn reset -rXY 的 XY 略低于最新导入的版本似乎也无济于事,手动从 reflog 中删除直到 XY 的最新条目也无济于事。
  • 重新启动。听起来很傻,但我在导入第一个 ~4000 修订版时确实观察到了一些奇怪的问题,好像某些东西泄漏了很多内核资源(很可能在 windows 子系统中),可能与 msys/mingw(或 avira 病毒扫描程序,我禁用了它以进行测试)。

我也没有找到错误 128 的真正含义。有任何想法吗?提前致谢!

可能与this question 相关,这也与错误 128 有关,但错误消息不同,并且没有解决方案。

msysgit 版本 1.6.4.msysgit.0 在 xp sp3 上带有 bash

【问题讨论】:

  • 在 git 邮件列表 (git@vger.kernel.org) 上询问,您不需要订阅帖子(并且有一些 Web 界面可以阅读它,包括 Gmane 和 MARC)

标签: git git-svn corruption msysgit


【解决方案1】:

git svn gc

(之前可能是git gcgit prune

【讨论】:

  • 谢谢,成功了!不知道是否需要 gc/prune,我理所当然地这样做了。
  • 我遇到了这个问题。只运行 git svn gc 而没有 git gcgit prune 为我修复了它。
  • git gc 为我解决了这个问题,而 git svn gc 在 msysgit 上尚无法实现
【解决方案2】:

简答:尝试解决任何合并冲突,提交它们,然后它们会再次获取/拉取。

更长的解释: 我猜你已经解决了这个问题,因为它是很久以前发布的。我写这篇文章是因为 Google 对 StackOverflow 文章的排名足够高,以至于其他有此问题的人如果遇到此错误很可能会访问此页面。

我在尝试执行“git stash”时遇到了类似的错误,结果问题是在拉取后发生了合并冲突。我没有解决并提交冲突,这使存储库处于阻止我拉/合并/等的状态......

如果您确定没有任何阻止文件,请重试。

祝你好运!

【讨论】:

    猜你喜欢
    • 2020-05-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-30
    • 2018-07-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多