зеркало из https://github.com/microsoft/git.git
dir: exit before wildcard fall-through if there is no wildcard
The DO_MATCH_LEADING_PATHSPEC had a fall-through case for if there was a wildcard, noting that we don't yet have enough information to determine if a further paths under the current directory might match due to the presence of wildcards. But if we have no wildcards in our pathspec, then we shouldn't get to that fall-through case. Signed-off-by: Elijah Newren <newren@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Родитель
2f5d3847d4
Коммит
072a231016
7
dir.c
7
dir.c
|
@ -379,6 +379,13 @@ static int match_pathspec_item(const struct index_state *istate,
|
|||
item->nowildcard_len - prefix))
|
||||
return 0;
|
||||
|
||||
/*
|
||||
* name has no wildcard, and it didn't match as a leading
|
||||
* pathspec so return.
|
||||
*/
|
||||
if (item->nowildcard_len == item->len)
|
||||
return 0;
|
||||
|
||||
/*
|
||||
* Here is where we would perform a wildmatch to check if
|
||||
* "name" can be matched as a directory (or a prefix) against
|
||||
|
|
|
@ -92,7 +92,7 @@ test_expect_failure 'git ls-files -o untracked_repo/ does not recurse' '
|
|||
test_cmp expect actual
|
||||
'
|
||||
|
||||
test_expect_failure 'git ls-files -o untracked_dir untracked_repo recurses into untracked_dir only' '
|
||||
test_expect_success 'git ls-files -o untracked_dir untracked_repo recurses into untracked_dir only' '
|
||||
cat <<-EOF >expect &&
|
||||
untracked_dir/empty
|
||||
untracked_repo/
|
||||
|
@ -110,7 +110,7 @@ test_expect_success 'git ls-files -o untracked_dir/ untracked_repo/ recurses int
|
|||
test_cmp expect actual
|
||||
'
|
||||
|
||||
test_expect_failure 'git ls-files -o --directory untracked_dir untracked_repo does not recurse' '
|
||||
test_expect_success 'git ls-files -o --directory untracked_dir untracked_repo does not recurse' '
|
||||
cat <<-EOF >expect &&
|
||||
untracked_dir/
|
||||
untracked_repo/
|
||||
|
|
Загрузка…
Ссылка в новой задаче