Skip to content

Commit

Permalink
treewide: rename 'EXCL_FLAG_' to 'PATTERN_FLAG_'
Browse files Browse the repository at this point in the history
The first consumer of pattern-matching filenames was the
.gitignore feature. In that context, storing a list of patterns
as a 'struct exclude_list'  makes sense. However, the
sparse-checkout feature then adopted these structures and methods,
but with the opposite meaning: these patterns match the files
that should be included!

It would be clearer to rename this entire library as a "pattern
matching" library, and the callers apply exclusion/inclusion
logic accordingly based on their needs.

This commit replaces 'EXCL_FLAG_' to 'PATTERN_FLAG_' in the
names of the flags used on 'struct path_pattern'.

Signed-off-by: Derrick Stolee <[email protected]>
Signed-off-by: Junio C Hamano <[email protected]>
  • Loading branch information
derrickstolee authored and gitster committed Sep 5, 2019
1 parent caa3d55 commit 4ff89ee
Show file tree
Hide file tree
Showing 4 changed files with 22 additions and 22 deletions.
8 changes: 4 additions & 4 deletions attr.c
Original file line number Diff line number Diff line change
Expand Up @@ -259,7 +259,7 @@ struct pattern {
const char *pattern;
int patternlen;
int nowildcardlen;
unsigned flags; /* EXC_FLAG_* */
unsigned flags; /* PATTERN_FLAG_* */
};

/*
Expand Down Expand Up @@ -404,7 +404,7 @@ static struct match_attr *parse_attr_line(const char *line, const char *src,
&res->u.pat.patternlen,
&res->u.pat.flags,
&res->u.pat.nowildcardlen);
if (res->u.pat.flags & EXC_FLAG_NEGATIVE) {
if (res->u.pat.flags & PATTERN_FLAG_NEGATIVE) {
warning(_("Negative patterns are ignored in git attributes\n"
"Use '\\!' for literal leading exclamation."));
goto fail_return;
Expand Down Expand Up @@ -991,10 +991,10 @@ static int path_matches(const char *pathname, int pathlen,
int prefix = pat->nowildcardlen;
int isdir = (pathlen && pathname[pathlen - 1] == '/');

if ((pat->flags & EXC_FLAG_MUSTBEDIR) && !isdir)
if ((pat->flags & PATTERN_FLAG_MUSTBEDIR) && !isdir)
return 0;

if (pat->flags & EXC_FLAG_NODIR) {
if (pat->flags & PATTERN_FLAG_NODIR) {
return match_basename(pathname + basename_offset,
pathlen - basename_offset - isdir,
pattern, prefix,
Expand Down
4 changes: 2 additions & 2 deletions builtin/check-ignore.c
Original file line number Diff line number Diff line change
Expand Up @@ -34,8 +34,8 @@ static const struct option check_ignore_options[] = {

static void output_pattern(const char *path, struct path_pattern *pattern)
{
char *bang = (pattern && pattern->flags & EXC_FLAG_NEGATIVE) ? "!" : "";
char *slash = (pattern && pattern->flags & EXC_FLAG_MUSTBEDIR) ? "/" : "";
char *bang = (pattern && pattern->flags & PATTERN_FLAG_NEGATIVE) ? "!" : "";
char *slash = (pattern && pattern->flags & PATTERN_FLAG_MUSTBEDIR) ? "/" : "";
if (!nul_term_line) {
if (!verbose) {
write_name_quoted(path, stdout, '\n');
Expand Down
22 changes: 11 additions & 11 deletions dir.c
Original file line number Diff line number Diff line change
Expand Up @@ -571,20 +571,20 @@ void parse_exclude_pattern(const char **pattern,

*flags = 0;
if (*p == '!') {
*flags |= EXC_FLAG_NEGATIVE;
*flags |= PATTERN_FLAG_NEGATIVE;
p++;
}
len = strlen(p);
if (len && p[len - 1] == '/') {
len--;
*flags |= EXC_FLAG_MUSTBEDIR;
*flags |= PATTERN_FLAG_MUSTBEDIR;
}
for (i = 0; i < len; i++) {
if (p[i] == '/')
break;
}
if (i == len)
*flags |= EXC_FLAG_NODIR;
*flags |= PATTERN_FLAG_NODIR;
*nowildcardlen = simple_length(p);
/*
* we should have excluded the trailing slash from 'p' too,
Expand All @@ -594,7 +594,7 @@ void parse_exclude_pattern(const char **pattern,
if (*nowildcardlen > len)
*nowildcardlen = len;
if (*p == '*' && no_wildcard(p + 1))
*flags |= EXC_FLAG_ENDSWITH;
*flags |= PATTERN_FLAG_ENDSWITH;
*pattern = p;
*patternlen = len;
}
Expand All @@ -608,7 +608,7 @@ void add_exclude(const char *string, const char *base,
int nowildcardlen;

parse_exclude_pattern(&string, &patternlen, &flags, &nowildcardlen);
if (flags & EXC_FLAG_MUSTBEDIR) {
if (flags & PATTERN_FLAG_MUSTBEDIR) {
FLEXPTR_ALLOC_MEM(pattern, pattern, string, patternlen);
} else {
pattern = xmalloc(sizeof(*pattern));
Expand Down Expand Up @@ -940,7 +940,7 @@ int match_basename(const char *basename, int basenamelen,
if (patternlen == basenamelen &&
!fspathncmp(pattern, basename, basenamelen))
return 1;
} else if (flags & EXC_FLAG_ENDSWITH) {
} else if (flags & PATTERN_FLAG_ENDSWITH) {
/* "*literal" matching against "fooliteral" */
if (patternlen - 1 <= basenamelen &&
!fspathncmp(pattern + 1,
Expand Down Expand Up @@ -1039,14 +1039,14 @@ static struct path_pattern *last_exclude_matching_from_list(const char *pathname
const char *exclude = pattern->pattern;
int prefix = pattern->nowildcardlen;

if (pattern->flags & EXC_FLAG_MUSTBEDIR) {
if (pattern->flags & PATTERN_FLAG_MUSTBEDIR) {
if (*dtype == DT_UNKNOWN)
*dtype = get_dtype(NULL, istate, pathname, pathlen);
if (*dtype != DT_DIR)
continue;
}

if (pattern->flags & EXC_FLAG_NODIR) {
if (pattern->flags & PATTERN_FLAG_NODIR) {
if (match_basename(basename,
pathlen - (basename - pathname),
exclude, prefix, pattern->patternlen,
Expand Down Expand Up @@ -1083,7 +1083,7 @@ int is_excluded_from_list(const char *pathname,
pattern = last_exclude_matching_from_list(pathname, pathlen, basename,
dtype, pl, istate);
if (pattern)
return pattern->flags & EXC_FLAG_NEGATIVE ? 0 : 1;
return pattern->flags & PATTERN_FLAG_NEGATIVE ? 0 : 1;
return -1; /* undecided */
}

Expand Down Expand Up @@ -1198,7 +1198,7 @@ static void prep_exclude(struct dir_struct *dir,
dir->basebuf.buf + current, &dt);
dir->basebuf.buf[stk->baselen - 1] = '/';
if (dir->pattern &&
dir->pattern->flags & EXC_FLAG_NEGATIVE)
dir->pattern->flags & PATTERN_FLAG_NEGATIVE)
dir->pattern = NULL;
if (dir->pattern) {
dir->exclude_stack = stk;
Expand Down Expand Up @@ -1298,7 +1298,7 @@ int is_excluded(struct dir_struct *dir, struct index_state *istate,
struct path_pattern *pattern =
last_exclude_matching(dir, istate, pathname, dtype_p);
if (pattern)
return pattern->flags & EXC_FLAG_NEGATIVE ? 0 : 1;
return pattern->flags & PATTERN_FLAG_NEGATIVE ? 0 : 1;
return 0;
}

Expand Down
10 changes: 5 additions & 5 deletions dir.h
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,10 @@ struct dir_entry {
char name[FLEX_ARRAY]; /* more */
};

#define EXC_FLAG_NODIR 1
#define EXC_FLAG_ENDSWITH 4
#define EXC_FLAG_MUSTBEDIR 8
#define EXC_FLAG_NEGATIVE 16
#define PATTERN_FLAG_NODIR 1
#define PATTERN_FLAG_ENDSWITH 4
#define PATTERN_FLAG_MUSTBEDIR 8
#define PATTERN_FLAG_NEGATIVE 16

struct path_pattern {
/*
Expand All @@ -28,7 +28,7 @@ struct path_pattern {
int nowildcardlen;
const char *base;
int baselen;
unsigned flags; /* EXC_FLAG_* */
unsigned flags; /* PATTERN_FLAG_* */

/*
* Counting starts from 1 for line numbers in ignore files,
Expand Down

0 comments on commit 4ff89ee

Please sign in to comment.