git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: "McHenry, Matt" <mmchenry@carnegielearning.com>
To: Junio C Hamano <gitster@pobox.com>
Cc: "git@vger.kernel.org" <git@vger.kernel.org>
Subject: RE: recovering from "unordered stage entries in index" error
Date: Fri, 22 May 2015 15:57:40 -0400	[thread overview]
Message-ID: <D377A9280DB18546A2471214D5CBB0E9087568F50D@exchdb01> (raw)
In-Reply-To: <CAPc5daVFA-FKTSUCRmb=JUr=H9ECtK8nJB3nyxHprCcJ+0CHBQ@mail.gmail.com>


	Yes, that does turn up some interesting stuff.  It looks like the repository contains some paths with non-ASCII characters, for example this one has some en-dashes (U+2013) in its name:

$ svn ls -R svn://dev/trunk/curriculum/Fluency | grep Ninja__Beta
Hurix work/source from May 2014/For_Anesh/06 Deliverables/Phase 2/FT3 – Ninja/FT3 – Ninja__Beta.zip

$ svn ls -R svn://dev/trunk/curriculum/Fluency | grep Ninja__Beta | od -cx
0000000   H   u   r   i   x       w   o   r   k   /   s   o   u   r   c
           7548    6972    2078    6f77    6b72    732f    756f    6372
0000020   e       f   r   o   m       M   a   y       2   0   1   4   /
           2065    7266    6d6f    4d20    7961    3220    3130    2f34
0000040   F   o   r   _   A   n   e   s   h   /   0   6       D   e   l
           6f46    5f72    6e41    7365    2f68    3630    4420    6c65
0000060   i   v   e   r   a   b   l   e   s   /   P   h   a   s   e
           7669    7265    6261    656c    2f73    6850    7361    2065
0000100   2   /   F   T   3     342 200 223       N   i   n   j   a   /
           2f32    5446    2033    80e2    2093    694e    6a6e    2f61
0000120   F   T   3     342 200 223       N   i   n   j   a   _   _   B
           5446    2033    80e2    2093    694e    6a6e    5f61    425f
0000140   e   t   a   .   z   i   p  \n
           7465    2e61    697a    0a70
0000150

	In the output of 'git ls-files', those paths appear quoted (there are almost 100 of them):

$ git ls-files | grep Ninja__Beta
"curriculum/Fluency/Hurix work/source from May 2014/For_Anesh/06 Deliverables/Phase 2/FT3 \342\200\223 Ninja/FT3 \342\200\223 Ninja__Beta.zip"

$ git ls-files | grep ^\" | wc -l
89


	In the diff you suggested, 'sort' puts those paths at the absolute top of the list, while plain old ls-files puts them inline with the rest of the contents of the curriculum/ subdir:

$ grep -n Ninja__Beta Q R
Q:36109:"curriculum/Fluency/Hurix work/source from May 2014/For_Anesh/06 Deliverables/Phase 2/FT3 \342\200\223 Ninja/FT3 \342\200\223 Ninja__Beta.zip"
R:89:"curriculum/Fluency/Hurix work/source from May 2014/For_Anesh/06 Deliverables/Phase 2/FT3 \342\200\223 Ninja/FT3 \342\200\223 Ninja__Beta.zip"

	Also, I have the curriculum/Fluency/ directory marked as sparse-checkout:

$ cat .git/info/sparse-checkout
/*
!/curriculum/Fluency/
!/curriculum/Problems/lisp/
!/curriculum/Problems/lisp_es/
!/curriculum/Problems/sdk/Geometry/
!/curriculum/Problems/sdk_es/Geometry/
!/curriculum/Problems/sdk/Test-Questions/
!/curriculum/Problems/sdk_es/Test-Questions/
!/curriculum/Problems/sdk/Grammar/


	However, I tried to construct a test case that would reproduce this with a simple SVN repo containing a file created by 'touch "make-git-svn-$(echo -e '\u201c')unhappy$(echo -e '\u201d')"', but could not get it to fail.  So there may be something more subtle going on here ...


> -----Original Message-----
> From: jch2355@gmail.com [mailto:jch2355@gmail.com] On Behalf Of Junio C
> Hamano
> Sent: Friday, May 22, 2015 15:25
> To: McHenry, Matt
> Cc: git@vger.kernel.org
> Subject: Re: recovering from "unordered stage entries in index" error
> 
> 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
> <mmchenry@carnegielearning.com> 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

  reply	other threads:[~2015-05-22 19:57 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-05-19 13:48 recovering from "unordered stage entries in index" error McHenry, Matt
2015-05-19 15:19 ` Junio C Hamano
2015-05-19 16:51   ` McHenry, Matt
2015-05-21  9:56 ` Duy Nguyen
2015-05-21 13:19   ` McHenry, Matt
2015-05-21 16:49   ` Junio C Hamano
2015-05-22  0:17     ` Duy Nguyen
2015-05-22 18:56       ` McHenry, Matt
2015-05-23  2:06         ` Duy Nguyen
2015-05-23  2:47           ` McHenry, Matt
2015-05-24  9:52             ` Duy Nguyen
2015-05-26 13:28               ` McHenry, Matt
2015-05-26 13:37                 ` Duy Nguyen
     [not found]           ` <805ACAFCB18CC2408F45D98ABEC64B650A06EC538B@exchdb01>
2015-05-23 21:36             ` McHenry, Matt
2015-05-22 19:24 ` Junio C Hamano
2015-05-22 19:57   ` McHenry, Matt [this message]
2015-05-23 17:06     ` Junio C Hamano

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: http://vger.kernel.org/majordomo-info.html

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=D377A9280DB18546A2471214D5CBB0E9087568F50D@exchdb01 \
    --to=mmchenry@carnegielearning.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).