summaryrefslogtreecommitdiff
path: root/pathspec.c
diff options
context:
space:
mode:
authorAdam Spiers <git@adamspiers.org>2013-01-06 16:58:11 +0000
committerJunio C Hamano <gitster@pobox.com>2013-01-06 14:26:37 -0800
commit512aaf9453cecfa57dddc61aec2132b936b2ff70 (patch)
tree5b10c1da9594fb012bedf00ad2df9d26e4c831d0 /pathspec.c
parent9d67b61f739a1a898bc8c9960047ebff0e9c9d09 (diff)
downloadgit-512aaf9453cecfa57dddc61aec2132b936b2ff70.tar.gz
add.c: extract new die_if_path_beyond_symlink() for reuse
This will be reused by a new git check-ignore command. Also document validate_pathspec(). Signed-off-by: Adam Spiers <git@adamspiers.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'pathspec.c')
-rw-r--r--pathspec.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/pathspec.c b/pathspec.c
index 02d3344460..284f3970a3 100644
--- a/pathspec.c
+++ b/pathspec.c
@@ -87,3 +87,15 @@ const char *check_path_for_gitlink(const char *path)
}
return path;
}
+
+/*
+ * Dies if the given path refers to a file inside a symlinked
+ * directory in the index.
+ */
+void die_if_path_beyond_symlink(const char *path, const char *prefix)
+{
+ if (has_symlink_leading_path(path, strlen(path))) {
+ int len = prefix ? strlen(prefix) : 0;
+ die(_("'%s' is beyond a symbolic link"), path + len);
+ }
+}