X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=dir.h;h=aaa247b2569fc5ae923f12dcd3cdede5c2dccd8d;hb=5410a02ab9e6a1987147724f8ea65e6a077b3832;hp=172147fd3d4711c9ea95cd76048b7188bf9a1e2c;hpb=f26cacf4956b08238868b21a8eac6b5e51a17d7f;p=git.git diff --git a/dir.h b/dir.h index 172147fd3..aaa247b25 100644 --- a/dir.h +++ b/dir.h @@ -13,29 +13,37 @@ struct dir_entry { - unsigned int ignored : 1; - unsigned int ignored_dir : 1; - unsigned int len : 30; + unsigned int len; char name[FLEX_ARRAY]; /* more */ }; +#define EXC_FLAG_NODIR 1 +#define EXC_FLAG_NOWILDCARD 2 +#define EXC_FLAG_ENDSWITH 4 + struct exclude_list { int nr; int alloc; struct exclude { const char *pattern; + int patternlen; const char *base; int baselen; + int to_exclude; + int flags; } **excludes; }; struct dir_struct { int nr, alloc; + int ignored_nr, ignored_alloc; unsigned int show_ignored:1, show_other_directories:1, hide_empty_directories:1, - no_gitlinks:1; + no_gitlinks:1, + collect_ignored:1; struct dir_entry **entries; + struct dir_entry **ignored; /* Exclude info */ const char *exclude_per_dir; @@ -60,4 +68,9 @@ extern void add_exclude(const char *string, const char *base, extern int file_exists(const char *); extern struct dir_entry *dir_add_name(struct dir_struct *dir, const char *pathname, int len); +extern char *get_relative_cwd(char *buffer, int size, const char *dir); +extern int is_inside_dir(const char *dir); + +extern int remove_dir_recursively(struct strbuf *path, int only_empty); + #endif