X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=dir.h;h=7233d65bbd393f1d34d75538dd0e39e4a86383f2;hb=957d6ea78fcbe71481a6f46a58768e100f7908e0;hp=56a1b7fce224b489aa4ac91766cfb47a3097f197;hpb=f2054be4c4816d8c363dc867f462bc0af9031c02;p=git.git diff --git a/dir.h b/dir.h index 56a1b7fce..7233d65bb 100644 --- a/dir.h +++ b/dir.h @@ -13,7 +13,9 @@ struct dir_entry { - int len; + unsigned int ignored : 1; + unsigned int ignored_dir : 1; + unsigned int len : 30; char name[FLEX_ARRAY]; /* more */ }; @@ -40,12 +42,21 @@ 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); +extern int push_exclude_per_directory(struct dir_struct *, const char *, int); +extern void pop_exclude_per_directory(struct dir_struct *, int); + extern int excluded(struct dir_struct *, const char *); extern void add_excludes_from_file(struct dir_struct *, const char *fname); extern void add_exclude(const char *string, const char *base, int baselen, struct exclude_list *which); +extern int file_exists(const char *); +extern struct dir_entry *dir_add_name(struct dir_struct *dir, const char *pathname, int len); #endif