dir: convert is_excluded_from_list to take an index
Signed-off-by: Brandon Williams <bmwill@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
2b70e88d36
commit
fba92be8f7
5
dir.c
5
dir.c
@ -1010,10 +1010,11 @@ static struct exclude *last_exclude_matching_from_list(const char *pathname,
|
|||||||
*/
|
*/
|
||||||
int is_excluded_from_list(const char *pathname,
|
int is_excluded_from_list(const char *pathname,
|
||||||
int pathlen, const char *basename, int *dtype,
|
int pathlen, const char *basename, int *dtype,
|
||||||
struct exclude_list *el)
|
struct exclude_list *el, struct index_state *istate)
|
||||||
{
|
{
|
||||||
struct exclude *exclude;
|
struct exclude *exclude;
|
||||||
exclude = last_exclude_matching_from_list(pathname, pathlen, basename, dtype, el, &the_index);
|
exclude = last_exclude_matching_from_list(pathname, pathlen, basename,
|
||||||
|
dtype, el, istate);
|
||||||
if (exclude)
|
if (exclude)
|
||||||
return exclude->flags & EXC_FLAG_NEGATIVE ? 0 : 1;
|
return exclude->flags & EXC_FLAG_NEGATIVE ? 0 : 1;
|
||||||
return -1; /* undecided */
|
return -1; /* undecided */
|
||||||
|
6
dir.h
6
dir.h
@ -217,8 +217,10 @@ extern int within_depth(const char *name, int namelen, int depth, int max_depth)
|
|||||||
extern int fill_directory(struct dir_struct *dir, const struct pathspec *pathspec);
|
extern int fill_directory(struct dir_struct *dir, const struct pathspec *pathspec);
|
||||||
extern int read_directory(struct dir_struct *, const char *path, int len, const struct pathspec *pathspec);
|
extern int read_directory(struct dir_struct *, const char *path, int len, const struct pathspec *pathspec);
|
||||||
|
|
||||||
extern int is_excluded_from_list(const char *pathname, int pathlen, const char *basename,
|
extern int is_excluded_from_list(const char *pathname, int pathlen,
|
||||||
int *dtype, struct exclude_list *el);
|
const char *basename, int *dtype,
|
||||||
|
struct exclude_list *el,
|
||||||
|
struct index_state *istate);
|
||||||
struct dir_entry *dir_add_ignored(struct dir_struct *dir,
|
struct dir_entry *dir_add_ignored(struct dir_struct *dir,
|
||||||
struct index_state *istate,
|
struct index_state *istate,
|
||||||
const char *pathname, int len);
|
const char *pathname, int len);
|
||||||
|
@ -1068,7 +1068,7 @@ static int clear_ce_flags_dir(struct cache_entry **cache, int nr,
|
|||||||
struct cache_entry **cache_end;
|
struct cache_entry **cache_end;
|
||||||
int dtype = DT_DIR;
|
int dtype = DT_DIR;
|
||||||
int ret = is_excluded_from_list(prefix->buf, prefix->len,
|
int ret = is_excluded_from_list(prefix->buf, prefix->len,
|
||||||
basename, &dtype, el);
|
basename, &dtype, el, &the_index);
|
||||||
int rc;
|
int rc;
|
||||||
|
|
||||||
strbuf_addch(prefix, '/');
|
strbuf_addch(prefix, '/');
|
||||||
@ -1171,7 +1171,7 @@ static int clear_ce_flags_1(struct cache_entry **cache, int nr,
|
|||||||
/* Non-directory */
|
/* Non-directory */
|
||||||
dtype = ce_to_dtype(ce);
|
dtype = ce_to_dtype(ce);
|
||||||
ret = is_excluded_from_list(ce->name, ce_namelen(ce),
|
ret = is_excluded_from_list(ce->name, ce_namelen(ce),
|
||||||
name, &dtype, el);
|
name, &dtype, el, &the_index);
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
ret = defval;
|
ret = defval;
|
||||||
if (ret > 0)
|
if (ret > 0)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user