致命:git-write-tree:构建树的错误

时间:2009-08-31 07:25:38

标签: git git-svn corruption msysgit

我正在尝试使用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略低于最新导入的revsion似乎也没有帮助,也没有手动删除从reflog到XY的最新条目。
  • 重新启动。听起来很傻,但我确实在导入第一个~4000版本时发现了一些奇怪的问题,好像有什么东西泄漏了很多内核资源(很可能是在windows子系统中),可能与msys / mingw(或者avira病毒扫描程序,我禁用了测试)。

我也没有找出128真正代表的错误。有任何想法吗?提前谢谢!

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

msysgit版本1.6.4.msysgit.0,在xp sp3上使用bash

2 个答案:

答案 0 :(得分:38)

git svn gc

(可能git gcgit prune之前)

答案 1 :(得分:4)

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

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

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

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

祝你好运!