我正在尝试使用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
到目前为止我尝试过:
git fsck --full
不报告任何内容,git fsck --unreachable
或git fsck --no-reflog
git gc --aggressive
没有帮助git unpack-objects
重新导入<无法帮助git svn reset -rXY
XY略低于最新导入的revsion似乎也没有帮助,也没有手动删除从reflog
到XY的最新条目。我也没有找出128真正代表的错误。有任何想法吗?提前谢谢!
可能与this question有关,这也与错误128有关,但有不同的错误消息,没有解决方案。
msysgit版本1.6.4.msysgit.0
,在xp sp3上使用bash
答案 0 :(得分:38)
git svn gc
(可能git gc
和git prune
之前)
答案 1 :(得分:4)
简短回答:尝试解决任何合并冲突,提交它们,然后再次取/拉。
更长的解释: 我猜你已经解决了这个问题,因为它很久以前就被发布了。我正在写这篇文章,因为Google对StackOverflow文章的排名足够高,以至于遇到此问题的其他人很可能会在遇到此错误时访问此页面。
我在尝试执行“git stash”时遇到了类似的错误,结果是问题在于拉出后发生了合并冲突。我还没解决过&amp;犯了冲突,这使得存储库处于阻止我拉/合并/等的状态......
如果您确定没有任何阻止文件,请重试。
祝你好运!