diff options
author | Junio C Hamano <gitster@pobox.com> | 2013-01-28 11:07:18 -0800 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2013-01-28 11:07:18 -0800 |
commit | ce956fc48eb6f4a8eb90fd22a7d730e8d012f91f (patch) | |
tree | b27b87bf56871b8b4c8f2818f811682d20ca0918 /cache.h | |
parent | b344bb19358bcf8cf62c28ce205fdfd8acfa6b6b (diff) | |
parent | 059b37934c611b1b9b735e0310ba282a0c7f5eba (diff) | |
download | git-ce956fc48eb6f4a8eb90fd22a7d730e8d012f91f.tar.gz |
Merge branch 'mh/ceiling' into maint
An element on GIT_CEILING_DIRECTORIES list that does not name the
real path to a directory (i.e. a symbolic link) could have caused
the GIT_DIR discovery logic to escape the ceiling.
* mh/ceiling:
string_list_longest_prefix(): remove function
setup_git_directory_gently_1(): resolve symlinks in ceiling paths
longest_ancestor_length(): require prefix list entries to be normalized
longest_ancestor_length(): take a string_list argument for prefixes
longest_ancestor_length(): use string_list_split()
Introduce new function real_path_if_valid()
real_path_internal(): add comment explaining use of cwd
Introduce new static function real_path_internal()
Diffstat (limited to 'cache.h')
-rw-r--r-- | cache.h | 3 |
1 files changed, 2 insertions, 1 deletions
@@ -714,10 +714,11 @@ static inline int is_absolute_path(const char *path) } int is_directory(const char *); const char *real_path(const char *path); +const char *real_path_if_valid(const char *path); const char *absolute_path(const char *path); const char *relative_path(const char *abs, const char *base); int normalize_path_copy(char *dst, const char *src); -int longest_ancestor_length(const char *path, const char *prefix_list); +int longest_ancestor_length(const char *path, struct string_list *prefixes); char *strip_path_suffix(const char *path, const char *suffix); int daemon_avoid_alias(const char *path); int offset_1st_component(const char *path); |