diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2007-04-11 14:39:12 -0700 |
---|---|---|
committer | Junio C Hamano <junkio@cox.net> | 2007-04-11 17:21:12 -0700 |
commit | 1833a925484675b328d5df04ffca62efa7a0a012 (patch) | |
tree | 2a913b9476ca39265468ea138d2549c0e73f171e /dir.h | |
parent | f35a6d3bce79c2995bbf0a3bd9fcad29e54a8d3c (diff) | |
download | git-1833a925484675b328d5df04ffca62efa7a0a012.tar.gz git-1833a925484675b328d5df04ffca62efa7a0a012.tar.xz |
Fix thinko in subproject entry sorting
This fixes a total thinko in my original series: subprojects do *not* sort
like directories, because the index is sorted purely by full pathname, and
since a subproject shows up in the index as a normal NUL-terminated
string, it never has the issues with sorting with the '/' at the end.
So if you have a subproject "proj" and a file "proj.c", the subproject
sorts alphabetically before the file in the index (and must thus also sort
that way in a tree object, since trees sort as the index).
In contrast, it you have two files "proj/file" and "proj.c", the "proj.c"
will sort alphabetically before "proj/file" in the index. The index
itself, of course, does not actually contain an entry "proj/", but in the
*tree* that gets written out, the tree entry "proj" will sort after the
file entry "proj.c", which is the only real magic sorting rule.
In other words: the magic sorting rule only affects tree entries, and
*only* affects tree entries that point to other trees (ie are of the type
S_IFDIR).
Anyway, that thinko just means that we should remove the special case to
make S_ISDIRLNK entries sort like S_ISDIR entries. They don't. They sort
like normal files.
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
Diffstat (limited to 'dir.h')
0 files changed, 0 insertions, 0 deletions