Subject: Re: [BUG] diffcore-rename with duplicate tree entries can segfault

From: Junio C Hamano <[email-masked]>
Date: Tue, 24 Feb 2015 21:00:20 -0800

Jeff King <[email-masked]> writes:

>   3. The sort order check is wrong. :-/ It needs to take into account
>      git's magic "if it's a tree, pretend it has '/' after it" rule.
>      That's not too hard for a single tree (fsck.c:verify_ordered does
>      it). But for filepairs, I'm not sure what to do. Most cases
>      have a single mode/name pair. But what about a D/F typechange? If
>      "foo" becomes "foo/", which do I use to sort?

I think diff-index populates the diff queue in a wrong order and
then calls diffcore_fix_diff_index() to fix it up.

I am a bit worried about the effect this stricter input check might
have to "diff --no-index" codepath, though.