зеркало из https://github.com/microsoft/git.git
Convert ce_path_match() to use match_pathspec_depth()
Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Родитель
eb9cb55b94
Коммит
898bbd9fb4
24
read-cache.c
24
read-cache.c
|
@ -708,29 +708,7 @@ int ce_same_name(struct cache_entry *a, struct cache_entry *b)
|
|||
|
||||
int ce_path_match(const struct cache_entry *ce, const struct pathspec *pathspec)
|
||||
{
|
||||
const char *match, *name;
|
||||
const char **ps = pathspec->raw;
|
||||
int len;
|
||||
|
||||
if (!pathspec->nr)
|
||||
return 1;
|
||||
|
||||
len = ce_namelen(ce);
|
||||
name = ce->name;
|
||||
while ((match = *ps++) != NULL) {
|
||||
int matchlen = strlen(match);
|
||||
if (matchlen > len)
|
||||
continue;
|
||||
if (memcmp(name, match, matchlen))
|
||||
continue;
|
||||
if (matchlen && name[matchlen-1] == '/')
|
||||
return 1;
|
||||
if (name[matchlen] == '/' || !name[matchlen])
|
||||
return 1;
|
||||
if (!matchlen)
|
||||
return 1;
|
||||
}
|
||||
return 0;
|
||||
return match_pathspec_depth(pathspec, ce->name, ce_namelen(ce), 0, NULL);
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
Загрузка…
Ссылка в новой задаче