summaryrefslogtreecommitdiff
path: root/cache.h
diff options
context:
space:
mode:
authorJiang Xin <worldhello.net@gmail.com>2013-10-14 02:29:40 (GMT)
committerJonathan Nieder <jrnieder@gmail.com>2013-10-14 14:00:33 (GMT)
commit41894ae3a315f75ebc924881c6ce9a69d70ce9c0 (patch)
tree0142f9019fd20e4f9469e7b97847cbe8a12dcaee /cache.h
parent7fbd422162f2b49bc06a29a063f519450165dc86 (diff)
downloadgit-41894ae3a315f75ebc924881c6ce9a69d70ce9c0.zip
git-41894ae3a315f75ebc924881c6ce9a69d70ce9c0.tar.gz
git-41894ae3a315f75ebc924881c6ce9a69d70ce9c0.tar.bz2
Use simpler relative_path when set_git_dir
Using a relative_path as git_dir first appears in v1.5.6-1-g044bbbc. It will make git_dir shorter only if git_dir is inside work_tree, and this will increase performance. But my last refactor effort on relative_path function (commit v1.8.3-rc2-12-ge02ca72) changed that. Always use relative_path as git_dir may bring troubles like $gmane/234434. Because new relative_path is a combination of original relative_path from path.c and original path_relative from quote.c, so in order to restore the origin implementation, save the original relative_path as remove_leading_path, and call it in setup.c. Suggested-by: Karsten Blees <karsten.blees@gmail.com> Signed-off-by: Jiang Xin <worldhello.net@gmail.com> Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Diffstat (limited to 'cache.h')
-rw-r--r--cache.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/cache.h b/cache.h
index 8e42256..94475bd 100644
--- a/cache.h
+++ b/cache.h
@@ -737,6 +737,7 @@ 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 *remove_leading_path(const char *in, const char *prefix);
const char *relative_path(const char *in, const char *prefix, struct strbuf *sb);
int normalize_path_copy(char *dst, const char *src);
int longest_ancestor_length(const char *path, struct string_list *prefixes);