recovering from "unordered stage entries in index" error
- From
McHenry, Matt <mmchenry@carnegielearning.com>
- Date
- May 19, 2015, 13:48 UTC
- Message-ID
- <D377A9280DB18546A2471214D5CBB0E908599428C7@exchdb01>
I've just upgraded my git from 2.0.5 to 2.3.6, and I'm now unable to run 'git svn fetch' in one of my repositories:
$ git svn fetch fatal: unordered stage entries in index write-tree: command returned error: 128
'git status' shows a few untracked files but is otherwise clean.
It looks like this check was introduced in 15999d0be8179fb7a2e6eafb931d25ed65df50aa, with the summary "read_index_from(): catch out of order entries when reading an index file" (first appearing in 2.2.0).
Mailing list discussion looked like it implicated third-party tools. I don't recall running any other tools on this repo; it doesn't do much day-to-day other than a long series of 'git svn fetch'es. (But it's been around for a couple of years, so who knows.)
At any rate, what can I do to recover from this situation? I tried to locate a path with multiple index entries like this, but got no results:
$ git ls-files -s | cut -f 2-100 | sort | uniq -c | grep -v '^[ \t]*1 '
(I originally posted on SO at http://stackoverflow.com/questions/30264826/; I'll update that with any solutions that come up here, to ease future googling.)