author | Linus Torvalds <torvalds@linux-foundation.org> | |
Thu, 6 Mar 2008 02:25:10 +0000 (18:25 -0800) | ||
committer | Junio C Hamano <gitster@pobox.com> | |
Sun, 9 Mar 2008 08:43:46 +0000 (00:43 -0800) | ||
commit | 0ab9e1e8cdaefdd33bf24bb0be0ec766483f8bbe | |
tree | 2a6e35a280418d28b11d8cbd65371e1a1f50b549 | tree | snapshot |
parent | 50753d00d691c1ea16bc72446705aee2c128fc2f | commit | diff |
Add 'df_name_compare()' helper function
This new helper is identical to base_name_compare(), except it compares
conflicting directory/file entries as equal in order to help handling DF
conflicts (thus the name).
Note that while a directory name compares as equal to a regular file
with the new helper, they then individually compare _differently_ to a
filename that has a dot after the basename (because '\0' < '.' < '/').
So a directory called "foo/" will compare equal to a file "foo", even
though "foo.c" will compare after "foo" and before "foo/"
This will be used by routines that want to traverse the git namespace
but then handle conflicting entries together when possible.
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This new helper is identical to base_name_compare(), except it compares
conflicting directory/file entries as equal in order to help handling DF
conflicts (thus the name).
Note that while a directory name compares as equal to a regular file
with the new helper, they then individually compare _differently_ to a
filename that has a dot after the basename (because '\0' < '.' < '/').
So a directory called "foo/" will compare equal to a file "foo", even
though "foo.c" will compare after "foo" and before "foo/"
This will be used by routines that want to traverse the git namespace
but then handle conflicting entries together when possible.
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
cache.h | diff | blob | history | |
read-cache.c | diff | blob | history |