diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2008-03-05 18:25:10 -0800 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2008-03-09 00:43:46 -0800 |
commit | 0ab9e1e8cdaefdd33bf24bb0be0ec766483f8bbe (patch) | |
tree | 2a6e35a280418d28b11d8cbd65371e1a1f50b549 /cache.h | |
parent | 50753d00d691c1ea16bc72446705aee2c128fc2f (diff) | |
download | git-0ab9e1e8cdaefdd33bf24bb0be0ec766483f8bbe.tar.gz git-0ab9e1e8cdaefdd33bf24bb0be0ec766483f8bbe.tar.xz |
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>
Diffstat (limited to 'cache.h')
-rw-r--r-- | cache.h | 1 |
1 files changed, 1 insertions, 0 deletions
@@ -536,6 +536,7 @@ extern int create_symref(const char *ref, const char *refs_heads_master, const c extern int validate_headref(const char *ref); extern int base_name_compare(const char *name1, int len1, int mode1, const char *name2, int len2, int mode2); +extern int df_name_compare(const char *name1, int len1, int mode1, const char *name2, int len2, int mode2); extern int cache_name_compare(const char *name1, int len1, const char *name2, int len2); extern void *read_object_with_reference(const unsigned char *sha1, |