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

Chr*_*egg 18 git git-svn corruption msysgit

我正在尝试使用git-svn将一个大型的subversion存储库导入git(这样我可以在git中工作,但仍然不时地提交subversion).导入超过4000个修订后,我现在每次运行时都会收到以下错误,git svn fetch或者git 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
Run Code Online (Sandbox Code Playgroud)

到目前为止我尝试过的:

  • git fsck --full不报什么,同样没有git fsck --unreachablegit fsck --no-reflog
  • git gc --aggressive 没有帮助
  • 移动单包文件并重新导入它git unpack-objects没有帮助
  • git svn reset -rXYXY略低于最新导入的revsion似乎也没有帮助,也没有手动从reflog最高XY中删除最新的条目.
  • 重启.听起来很傻,但我确实在导入第一个~4000版本时发现了一些奇怪的问题,好像有什么东西泄漏了很多内核资源(很可能是在windows子系统中),可能与msys/mingw(或者avira病毒扫描程序,我禁用了测试).

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

可能与此问题有关,该问题也与错误128相关,但具有不同的错误消息,并且没有解决方案.

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

小智 40

git svn gc

(可能git gcgit prune之前)


小智 5

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

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

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

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

祝你好运!