git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* bug in checkout/status ?
@ 2009-03-05 20:48 Shawn O. Pearce
  2009-03-05 20:51 ` Jeff King
  0 siblings, 1 reply; 5+ messages in thread
From: Shawn O. Pearce @ 2009-03-05 20:48 UTC (permalink / raw)
  To: git

WTF.  This shows up in git 1.6.0.2 through current 'next':

$ git clone git://android.git.kernel.org/platform/external/elfutils std_git
$ cd std_git/
$ git status
# On branch master

# Changes to be committed:
#   (use "git reset HEAD <file>..." to unstage)
#
#       modified:   libelf-po/ChangeLog
#       modified:   libelf-po/Makefile
#       modified:   libelf-po/Makefile.in
#       modified:   libelf-po/Makefile.in.in
#       modified:   libelf-po/Makevars
#       modified:   libelf-po/POTFILES
#       modified:   libelf-po/POTFILES.in
#       modified:   libelf-po/Rules-quot
#       modified:   libelf-po/boldquot.sed
#       modified:   libelf-po/insert-header.sin
#       modified:   libelf-po/libelf.pot
#       modified:   libelf-po/quot.sed
#

$ git diff-index HEAD
:000000 100644 0000000000000000000000000000000000000000 78eb2ff1b7e79d00e827c97a7d4f52ca7d129155 A      libelf-po/ChangeLog
:000000 100644 0000000000000000000000000000000000000000 afd56475e1ae3a51ed30124a7671821581fbf833 A      libelf-po/Makefile
:000000 100644 0000000000000000000000000000000000000000 21eb20d30794c6d9151c89a3b35c4365902221fc A      libelf-po/Makefile.in
:000000 100644 0000000000000000000000000000000000000000 4a7a26885ff4ed63205538741a45950b10b8cf95 A      libelf-po/Makefile.in.in
:000000 100644 0000000000000000000000000000000000000000 0accb70a14c5808668bdf7a21668767f0fa2e608 A      libelf-po/Makevars
:000000 100644 0000000000000000000000000000000000000000 f17f924d6f5748e15c238d1006e568abb4c3240e A      libelf-po/POTFILES
:000000 100644 0000000000000000000000000000000000000000 b25620fba0f1b74f351909d525a3e41101396260 A      libelf-po/POTFILES.in
:000000 100644 0000000000000000000000000000000000000000 5f46d237d2593c674ab34518cf342553fe0f6aef A      libelf-po/Rules-quot
:000000 100644 0000000000000000000000000000000000000000 4b937aa517bcff9f5adfc2a01d6d780445999297 A      libelf-po/boldquot.sed
:000000 100644 0000000000000000000000000000000000000000 b26de01f6c88c7b15bb4815a8fcd5120d479300d A      libelf-po/insert-header.sin
:000000 100644 0000000000000000000000000000000000000000 dfcd7704b3b16f040158b435acb9244a6d6cfa6a A      libelf-po/libelf.pot
:000000 100644 0000000000000000000000000000000000000000 0122c46318dc8bc115167fa2c259f8456668f861 A      libelf-po/quot.sed
:100644 000000 78eb2ff1b7e79d00e827c97a7d4f52ca7d129155 0000000000000000000000000000000000000000 D      libelf-po/ChangeLog
:100644 000000 afd56475e1ae3a51ed30124a7671821581fbf833 0000000000000000000000000000000000000000 D      libelf-po/Makefile
:100644 000000 21eb20d30794c6d9151c89a3b35c4365902221fc 0000000000000000000000000000000000000000 D      libelf-po/Makefile.in
:100644 000000 4a7a26885ff4ed63205538741a45950b10b8cf95 0000000000000000000000000000000000000000 D      libelf-po/Makefile.in.in
:100644 000000 0accb70a14c5808668bdf7a21668767f0fa2e608 0000000000000000000000000000000000000000 D      libelf-po/Makevars
:100644 000000 f17f924d6f5748e15c238d1006e568abb4c3240e 0000000000000000000000000000000000000000 D      libelf-po/POTFILES
:100644 000000 b25620fba0f1b74f351909d525a3e41101396260 0000000000000000000000000000000000000000 D      libelf-po/POTFILES.in
:100644 000000 5f46d237d2593c674ab34518cf342553fe0f6aef 0000000000000000000000000000000000000000 D      libelf-po/Rules-quot
:100644 000000 4b937aa517bcff9f5adfc2a01d6d780445999297 0000000000000000000000000000000000000000 D      libelf-po/boldquot.sed
:100644 000000 b26de01f6c88c7b15bb4815a8fcd5120d479300d 0000000000000000000000000000000000000000 D      libelf-po/insert-header.sin
:100644 000000 dfcd7704b3b16f040158b435acb9244a6d6cfa6a 0000000000000000000000000000000000000000 D      libelf-po/libelf.pot
:100644 000000 0122c46318dc8bc115167fa2c259f8456668f861 0000000000000000000000000000000000000000 D      libelf-po/quot.sed

WTF. Add -M and it sees modifies:

$ git diff-index -M HEAD
:100644 100644 78eb2ff1b7e79d00e827c97a7d4f52ca7d129155 78eb2ff1b7e79d00e827c97a7d4f52ca7d129155 M      libelf-po/ChangeLog
:100644 100644 afd56475e1ae3a51ed30124a7671821581fbf833 afd56475e1ae3a51ed30124a7671821581fbf833 M      libelf-po/Makefile
:100644 100644 21eb20d30794c6d9151c89a3b35c4365902221fc 21eb20d30794c6d9151c89a3b35c4365902221fc M      libelf-po/Makefile.in
:100644 100644 4a7a26885ff4ed63205538741a45950b10b8cf95 4a7a26885ff4ed63205538741a45950b10b8cf95 M      libelf-po/Makefile.in.in
:100644 100644 0accb70a14c5808668bdf7a21668767f0fa2e608 0accb70a14c5808668bdf7a21668767f0fa2e608 M      libelf-po/Makevars
:100644 100644 f17f924d6f5748e15c238d1006e568abb4c3240e f17f924d6f5748e15c238d1006e568abb4c3240e M      libelf-po/POTFILES
:100644 100644 b25620fba0f1b74f351909d525a3e41101396260 b25620fba0f1b74f351909d525a3e41101396260 M      libelf-po/POTFILES.in
:100644 100644 5f46d237d2593c674ab34518cf342553fe0f6aef 5f46d237d2593c674ab34518cf342553fe0f6aef M      libelf-po/Rules-quot
:100644 100644 4b937aa517bcff9f5adfc2a01d6d780445999297 4b937aa517bcff9f5adfc2a01d6d780445999297 M      libelf-po/boldquot.sed
:100644 100644 b26de01f6c88c7b15bb4815a8fcd5120d479300d b26de01f6c88c7b15bb4815a8fcd5120d479300d M      libelf-po/insert-header.sin
:100644 100644 dfcd7704b3b16f040158b435acb9244a6d6cfa6a dfcd7704b3b16f040158b435acb9244a6d6cfa6a M      libelf-po/libelf.pot
:100644 100644 0122c46318dc8bc115167fa2c259f8456668f861 0122c46318dc8bc115167fa2c259f8456668f861 M      libelf-po/quot.sed


I'm trying to debug it now, but I'd appreciate any help from
those that know more about this part of diffcore and the working
tree code..

-- 
Shawn.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: bug in checkout/status ?
  2009-03-05 20:48 bug in checkout/status ? Shawn O. Pearce
@ 2009-03-05 20:51 ` Jeff King
  2009-03-05 20:53   ` Shawn O. Pearce
  0 siblings, 1 reply; 5+ messages in thread
From: Jeff King @ 2009-03-05 20:51 UTC (permalink / raw)
  To: Shawn O. Pearce; +Cc: git

On Thu, Mar 05, 2009 at 12:48:01PM -0800, Shawn O. Pearce wrote:

> WTF.  This shows up in git 1.6.0.2 through current 'next':
> 
> $ git clone git://android.git.kernel.org/platform/external/elfutils std_git
> $ cd std_git/
> $ git status
> # On branch master
> 
> # Changes to be committed:
> #   (use "git reset HEAD <file>..." to unstage)
> #
> #       modified:   libelf-po/ChangeLog
> #       modified:   libelf-po/Makefile
> #       modified:   libelf-po/Makefile.in
> #       modified:   libelf-po/Makefile.in.in
> #       modified:   libelf-po/Makevars
> #       modified:   libelf-po/POTFILES
> #       modified:   libelf-po/POTFILES.in
> #       modified:   libelf-po/Rules-quot
> #       modified:   libelf-po/boldquot.sed
> #       modified:   libelf-po/insert-header.sin
> #       modified:   libelf-po/libelf.pot
> #       modified:   libelf-po/quot.sed
> #

Hmm. I get the same behavior here. I notice there is a "libelf" subtree
before "libelf-po"; maybe it's a sorting bug? I'll try to investigate
more.

-Peff

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: bug in checkout/status ?
  2009-03-05 20:51 ` Jeff King
@ 2009-03-05 20:53   ` Shawn O. Pearce
  2009-03-05 21:07     ` Jeff King
  0 siblings, 1 reply; 5+ messages in thread
From: Shawn O. Pearce @ 2009-03-05 20:53 UTC (permalink / raw)
  To: Jeff King; +Cc: git

Jeff King <peff@peff.net> wrote:
> On Thu, Mar 05, 2009 at 12:48:01PM -0800, Shawn O. Pearce wrote:
> 
> Hmm. I get the same behavior here. I notice there is a "libelf" subtree
> before "libelf-po"; maybe it's a sorting bug? I'll try to investigate
> more.

Yup, that must be it.

JGit created the resulting tree during a merge.

It sorted "libelf/" before "libelf-po/".  Wrong.  Bad JGit.  Bad!

-- 
Shawn.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: bug in checkout/status ?
  2009-03-05 20:53   ` Shawn O. Pearce
@ 2009-03-05 21:07     ` Jeff King
  2009-03-05 21:13       ` Shawn O. Pearce
  0 siblings, 1 reply; 5+ messages in thread
From: Jeff King @ 2009-03-05 21:07 UTC (permalink / raw)
  To: Shawn O. Pearce; +Cc: git

On Thu, Mar 05, 2009 at 12:53:13PM -0800, Shawn O. Pearce wrote:

> > Hmm. I get the same behavior here. I notice there is a "libelf" subtree
> > before "libelf-po"; maybe it's a sorting bug? I'll try to investigate
> > more.
> 
> Yup, that must be it.
> 
> JGit created the resulting tree during a merge.
> 
> It sorted "libelf/" before "libelf-po/".  Wrong.  Bad JGit.  Bad!

OK. I was just sort of guessing based on the similarity of the names and
the fact that sorting is confusing (as evidenced by the fact that I had
no idea if it was wrong or not). But that is definitely it:

  $ git clone git://android.git.kernel.org/platform/external/elfutils std_git
  $ cd std_git
  $ git ls-tree HEAD >jgit
  $ git commit -a -m 'git tree'
  $ git ls-tree HEAD >git
  $ diff -u jgit git

reveal(ed) the difference. But it looks like you have already re-pushed
a fixed version.

-Peff

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: bug in checkout/status ?
  2009-03-05 21:07     ` Jeff King
@ 2009-03-05 21:13       ` Shawn O. Pearce
  0 siblings, 0 replies; 5+ messages in thread
From: Shawn O. Pearce @ 2009-03-05 21:13 UTC (permalink / raw)
  To: Jeff King; +Cc: git

Jeff King <peff@peff.net> wrote:
> On Thu, Mar 05, 2009 at 12:53:13PM -0800, Shawn O. Pearce wrote:
> 
> OK. I was just sort of guessing based on the similarity of the names and
> the fact that sorting is confusing (as evidenced by the fact that I had
> no idea if it was wrong or not). But that is definitely it:

I never would have guessed the sorting was wrong.  But once you
said something, it was immediately obvious to me that JGit f'd up
the tree.
 
> reveal(ed) the difference. But it looks like you have already re-pushed
> a fixed version.

Well, I rewound the repository.  We're rebasing the change onto the
current tip and pushing a fast-forward instead of letting JGit make
a merge commit here.

But JGit still has a bug that causes it to corrupt the tree sorting
here.  I have yet to understand why it produced that bad sort for
this particular merge, let alone propose a patch for it.

Thanks for the help Peff.

-- 
Shawn.

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2009-03-05 21:15 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-03-05 20:48 bug in checkout/status ? Shawn O. Pearce
2009-03-05 20:51 ` Jeff King
2009-03-05 20:53   ` Shawn O. Pearce
2009-03-05 21:07     ` Jeff King
2009-03-05 21:13       ` Shawn O. Pearce

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 NNTP newsgroup(s).