我刚刚将git
从2.0.5
升级到2.3.6
,我现在无法在我的一个存储库中运行git svn fetch
:
$ git svn fetch
fatal: unordered stage entries in index
write-tree: command returned error: 128
git status
显示了一些未跟踪的文件,但在其他方面是干净的。
我找到了这个检查引入的变化,总结为“read_index_from(): catch out of order entries when reading an index file”(首次出现在2.2.0
中),还有一些mailing list discussion,其中包括:
我想我们一直在讨论如何保护其他人写的工具留下的破坏的索引文件,所以如果我们当前的工具集不能让你重新创建某些破坏,我不会感到惊讶;-)
我不记得在这个回购上运行任何其他工具;除了一系列的git svn fetch
es之外,它并没有做太多的日常工作。 (但它已经存在了几年,所以谁知道。)
无论如何,我可以做些什么来从这种情况中恢复?我试图找到一个像这样的多个索引条目的路径,但没有得到任何结果:
$ git ls-files -s | cut -f 2-100 | sort | uniq -c | grep -v '^[ \t]*1 '