summaryrefslogtreecommitdiff
path: root/dir.h
diff options
context:
space:
mode:
authorJunio C Hamano <junkio@cox.net>2006-12-25 11:09:52 (GMT)
committerJunio C Hamano <junkio@cox.net>2006-12-25 11:29:08 (GMT)
commite813d50e35653bdb0ce3329f99d1be7fc1c36de5 (patch)
treebc0ef733fe3e1019577a5c0b24b9b165b13bbfa5 /dir.h
parentd4ada4876d5ab7b271857917231f6006f2160bca (diff)
downloadgit-e813d50e35653bdb0ce3329f99d1be7fc1c36de5.zip
git-e813d50e35653bdb0ce3329f99d1be7fc1c36de5.tar.gz
git-e813d50e35653bdb0ce3329f99d1be7fc1c36de5.tar.bz2
match_pathspec() -- return how well the spec matched
This updates the return value from match_pathspec() so that the caller can tell cases between exact match, leading pathname match (i.e. file "foo/bar" matches a pathspec "foo"), or filename glob match. This can be used to prevent "rm dir" from removing "dir/file" without explicitly asking for recursive behaviour with -r flag, for example. Signed-off-by: Junio C Hamano <junkio@cox.net>
Diffstat (limited to 'dir.h')
-rw-r--r--dir.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/dir.h b/dir.h
index 550551a..c919727 100644
--- a/dir.h
+++ b/dir.h
@@ -40,6 +40,10 @@ struct dir_struct {
};
extern int common_prefix(const char **pathspec);
+
+#define MATCHED_RECURSIVELY 1
+#define MATCHED_FNMATCH 2
+#define MATCHED_EXACTLY 3
extern int match_pathspec(const char **pathspec, const char *name, int namelen, int prefix, char *seen);
extern int read_directory(struct dir_struct *, const char *path, const char *base, int baselen);