pathspec: allow to ignore SKIP_WORKTREE entries on index matching

Add a new enum parameter to `add_pathspec_matches_against_index()` and
`find_pathspecs_matching_against_index()`, allowing callers to specify
whether these function should attempt to match SKIP_WORKTREE entries or
not. This will be used in a future patch to make `git add` display a
warning when it is asked to update SKIP_WORKTREE entries.

Signed-off-by: Matheus Tavares <matheus.bernardino@usp.br>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Matheus Tavares
2021-04-08 17:41:25 -03:00
committed by Junio C Hamano
parent d73dbafc2c
commit 719630eb48
4 changed files with 21 additions and 8 deletions

View File

@ -149,11 +149,17 @@ static inline int ps_strcmp(const struct pathspec_item *item,
return strcmp(s1, s2);
}
enum ps_skip_worktree_action {
PS_HEED_SKIP_WORKTREE = 0,
PS_IGNORE_SKIP_WORKTREE = 1
};
void add_pathspec_matches_against_index(const struct pathspec *pathspec,
const struct index_state *istate,
char *seen);
char *seen,
enum ps_skip_worktree_action sw_action);
char *find_pathspecs_matching_against_index(const struct pathspec *pathspec,
const struct index_state *istate);
const struct index_state *istate,
enum ps_skip_worktree_action sw_action);
int match_pathspec_attrs(const struct index_state *istate,
const char *name, int namelen,
const struct pathspec_item *item);