line |
true |
false |
branch |
55
|
0 |
0 |
if ((rule->flags & GIT_ATTR_FNMATCH_NEGATIVE) != 0 |
56
|
0 |
0 |
|| (neg->flags & GIT_ATTR_FNMATCH_NEGATIVE) == 0) |
59
|
0 |
0 |
if (neg->flags & GIT_ATTR_FNMATCH_ICASE) |
65
|
0 |
0 |
if (rule->length == neg->length) { |
67
|
0 |
0 |
} else if (rule->length < neg->length) { |
81
|
0 |
0 |
if (p[-1] != '/') |
83
|
0 |
0 |
if (memchr(shorter->pattern, '/', shorter->length) != NULL) |
113
|
0 |
0 |
if (match->flags & GIT_ATTR_FNMATCH_ICASE) |
117
|
0 |
0 |
if (match->containing_dir) { |
120
|
0 |
0 |
if (git_buf_puts(&buf, match->pattern) < 0) |
125
|
0 |
0 |
git_vector_foreach(rules, i, rule) { |
126
|
0 |
0 |
if (!(rule->flags & GIT_ATTR_FNMATCH_HASWILD)) { |
127
|
0 |
0 |
if (does_negate_pattern(rule, match)) { |
137
|
0 |
0 |
if (rule->containing_dir) |
141
|
0 |
0 |
if (git_buf_oom(&buf)) |
145
|
0 |
0 |
if ((wildmatch(git_buf_cstr(&buf), path, wildmatch_flags)) == WM_MATCH) { |
170
|
0 |
373 |
if (git_repository__configmap_lookup(&ignore_case, repo, GIT_CONFIGMAP_IGNORECASE) < 0) |
175
|
176 |
195 |
git_path_root(attrs->entry->path) < 0 && |
179
|
0 |
373 |
if (git_mutex_lock(&attrs->lock) < 0) { |
184
|
445 |
0 |
while (!error && *scan) { |
|
72 |
373 |
while (!error && *scan) { |
187
|
58 |
14 |
if (!match && !(match = git__calloc(1, sizeof(*match)))) { |
|
0 |
58 |
if (!match && !(match = git__calloc(1, sizeof(*match)))) { |
195
|
44 |
28 |
if (!(error = git_attr_fnmatch__parse( |
200
|
0 |
44 |
if (ignore_case) |
211
|
0 |
44 |
if (match->flags & GIT_ATTR_FNMATCH_NEGATIVE |
212
|
0 |
0 |
&& !(match->flags & GIT_ATTR_FNMATCH_HASWILD)) |
215
|
44 |
0 |
if (!error && valid_rule) |
|
44 |
0 |
if (!error && valid_rule) |
219
|
44 |
28 |
if (error != 0 || !valid_rule) { |
|
0 |
44 |
if (error != 0 || !valid_rule) { |
222
|
28 |
0 |
if (error == GIT_ENOTFOUND) |
246
|
0 |
548 |
if (error < 0) |
249
|
548 |
0 |
if (file != NULL) { |
250
|
0 |
548 |
if ((error = git_vector_insert(which_list, file)) < 0) |
268
|
0 |
188 |
if ((error = git_attr_cache__init(repo)) < 0) |
275
|
188 |
0 |
if (!error && !(*out)->rules.length) |
|
14 |
174 |
if (!error && !(*out)->rules.length) |
290
|
186 |
0 |
assert(repo && ignores && path); |
|
186 |
0 |
assert(repo && ignores && path); |
|
0 |
186 |
assert(repo && ignores && path); |
296
|
0 |
186 |
if ((error = git_repository__configmap_lookup( |
300
|
0 |
186 |
if ((error = git_attr_cache__init(repo)) < 0) |
304
|
186 |
0 |
if (workdir && git_path_root(path) < 0) { |
|
186 |
0 |
if (workdir && git_path_root(path) < 0) { |
307
|
186 |
0 |
if ((error = git_path_dirname_r(&local, path)) < 0 || |
|
186 |
0 |
if ((error = git_path_dirname_r(&local, path)) < 0 || |
308
|
186 |
0 |
(error = git_path_resolve_relative(&local, 0)) < 0 || |
316
|
0 |
186 |
if (error < 0) |
319
|
186 |
0 |
if (workdir && !git__prefixcmp(ignores->dir.ptr, workdir)) |
|
186 |
0 |
if (workdir && !git__prefixcmp(ignores->dir.ptr, workdir)) |
323
|
0 |
186 |
if ((error = get_internal_ignores(&ignores->ign_internal, repo)) < 0) |
327
|
186 |
0 |
if (workdir != NULL) { |
330
|
0 |
186 |
if (error < 0) |
335
|
186 |
0 |
if ((error = git_repository_item_path(&infopath, repo, GIT_REPOSITORY_ITEM_INFO)) < 0 || |
|
0 |
186 |
if ((error = git_repository_item_path(&infopath, repo, GIT_REPOSITORY_ITEM_INFO)) < 0 || |
337
|
0 |
0 |
if (error != GIT_ENOTFOUND) |
343
|
0 |
186 |
if (git_repository_attr_cache(repo)->cfg_excl_file != NULL) |
350
|
0 |
186 |
if (error < 0) |
358
|
0 |
176 |
if (git_buf_joinpath(&ign->dir, ign->dir.ptr, dir) < 0) |
369
|
359 |
0 |
if (ign->ign_path.length > 0) { |
382
|
176 |
183 |
if ((end = strrchr(start, '/')) != NULL) { |
387
|
176 |
0 |
if (pathlen == dirlen && !memcmp(relpath, start, dirlen)) { |
|
176 |
0 |
if (pathlen == dirlen && !memcmp(relpath, start, dirlen)) { |
394
|
176 |
183 |
if (--ign->depth > 0) { |
409
|
186 |
218 |
git_vector_foreach(&ignores->ign_path, i, file) { |
415
|
186 |
218 |
git_vector_foreach(&ignores->ign_global, i, file) { |
430
|
2343 |
2678 |
git_vector_rforeach(&file->rules, j, match) { |
431
|
0 |
2343 |
if (match->flags & GIT_ATTR_FNMATCH_DIRECTORY && |
|
0 |
0 |
if (match->flags & GIT_ATTR_FNMATCH_DIRECTORY && |
434
|
11 |
2332 |
if (git_attr_fnmatch__match(match, path)) { |
453
|
0 |
764 |
if (git_attr_path__init( |
458
|
10 |
754 |
if (ignore_lookup_in_rules(out, ignores->ign_internal, &path)) |
465
|
1164 |
754 |
git_vector_rforeach(&ignores->ign_path, i, file) { |
466
|
0 |
1164 |
if (ignore_lookup_in_rules(out, file, &path)) |
471
|
754 |
754 |
git_vector_foreach(&ignores->ign_global, i, file) { |
472
|
0 |
754 |
if (ignore_lookup_in_rules(out, file, &path)) |
486
|
0 |
2 |
if ((error = get_internal_ignores(&ign_internal, repo)) < 0) |
500
|
0 |
0 |
if ((error = get_internal_ignores(&ign_internal, repo)) < 0) |
503
|
0 |
0 |
if (!(error = git_attr_file__clear_rules(ign_internal, true))) |
524
|
3 |
0 |
assert(repo && ignored && pathname); |
|
3 |
0 |
assert(repo && ignored && pathname); |
|
0 |
3 |
assert(repo && ignored && pathname); |
531
|
0 |
3 |
if (!git__suffixcmp(pathname, "/")) |
533
|
0 |
3 |
else if (git_repository_is_bare(repo)) |
536
|
3 |
0 |
if ((error = git_attr_path__init(&path, pathname, workdir, dir_flag)) < 0 || |
|
3 |
0 |
if ((error = git_attr_path__init(&path, pathname, workdir, dir_flag)) < 0 || |
542
|
1 |
2 |
if (ignore_lookup_in_rules(ignored, ignores.ign_internal, &path)) |
546
|
2 |
2 |
git_vector_foreach(&ignores.ign_path, i, file) { |
547
|
0 |
2 |
if (ignore_lookup_in_rules(ignored, file, &path)) |
552
|
2 |
2 |
git_vector_foreach(&ignores.ign_global, i, file) { |
553
|
0 |
2 |
if (ignore_lookup_in_rules(ignored, file, &path)) |
558
|
2 |
0 |
if (path.basename == path.path) |
561
|
0 |
0 |
while (path.basename > path.path && *path.basename != '/') |
|
0 |
0 |
while (path.basename > path.path && *path.basename != '/') |
563
|
0 |
0 |
if (path.basename > path.path) |
567
|
0 |
0 |
if ((error = git_ignore__pop_dir(&ignores)) < 0) |
592
|
0 |
0 |
if ((error = git_repository__ensure_not_bare( |
593
|
0 |
0 |
repo, "validate pathspec")) < 0 || |
599
|
0 |
0 |
git_vector_foreach(vspec, i, match) { |
601
|
0 |
0 |
if ((match->flags & GIT_ATTR_FNMATCH_HASWILD) != 0 && |
|
0 |
0 |
if ((match->flags & GIT_ATTR_FNMATCH_HASWILD) != 0 && |
608
|
0 |
0 |
if (git_index_get_bypath(idx, filename, 0) != NULL) |
611
|
0 |
0 |
if ((error = git_buf_joinpath(&path, wd, filename)) < 0) |
615
|
0 |
0 |
if (!git_path_isfile(path.ptr)) |
619
|
0 |
0 |
if ((error = git_ignore_path_is_ignored(&ignored, repo, filename)) < 0) |
622
|
0 |
0 |
if (ignored) { |