v2 of the series, with the following changes from v1: Patch 2/9 is new. Patch 4/9: remove an unnecessary memcpy(). (This change doesn't affect the tip of the branch because the memcpy() was removed anyway in the second-to-last patch.) Patch 8/9: remove a superfluous "len++", and improve the excuses in the commit message for removing the tests of longest_ancestor_length(). Thanks to Junio for his helpful comments. Michael Haggerty (9): Introduce new static function real_path_internal() real_path_internal(): add comment explaining use of cwd Introduce new function real_path_if_valid() longest_ancestor_length(): use string_list_split() longest_ancestor_length(): explicitly filter list before loop longest_ancestor_length(): always add a slash to the end of prefixes longest_ancestor_length(): use string_list_longest_prefix() longest_ancestor_length(): resolve symlinks before comparing paths t1504: stop resolving symlinks in GIT_CEILING_DIRECTORIES abspath.c | 105 ++++++++++++++++++++++++++++++++++++++---------- cache.h | 1 + path.c | 54 +++++++++++++++---------- t/t0060-path-utils.sh | 64 ----------------------------- t/t1504-ceiling-dirs.sh | 67 +++++++++++++++--------------- 5 files changed, 151 insertions(+), 140 deletions(-) -- 1.7.11.3 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html