Re: recovering from "unordered stage entries in index" error
From: Junio C Hamano <hidden>
Date: 2016-06-15 23:04:53
The message "unordered stage entries in index" comes only when two adjacent entries in the index are in a wrong order, e.g. "test0" should come before "test1" but somehow the index records them in the other way around. Doing something like this: $ git ls-files >Q $ LANG=C LC_ALL=C sort Q >R $ diff Q R may tell you which entries are wrong, even though it wouldn't show who made them wrong. (pardon top-posting, overlong lines and typos; sent from GMail web UI) On Tue, May 19, 2015 at 6:48 AM, McHenry, Matt [off-list ref] wrote:
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.)
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html