reset: reorder wildcard pathspec conditions
Rearrange conditions in method determining whether index expansion is necessary when a pathspec is specified for `git reset`, placing less expensive condition first. Additionally, add details & examples to related code comments to help with readability. Helped-by: Elijah Newren <newren@gmail.com> Signed-off-by: Victoria Dye <vdye@github.com> Reviewed-by: Elijah Newren <newren@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
bb01b26dec
commit
1624333ec1
@ -204,10 +204,16 @@ static int pathspec_needs_expanded_index(const struct pathspec *pathspec)
|
|||||||
/*
|
/*
|
||||||
* Special case: if the pattern is a path inside the cone
|
* Special case: if the pattern is a path inside the cone
|
||||||
* followed by only wildcards, the pattern cannot match
|
* followed by only wildcards, the pattern cannot match
|
||||||
* partial sparse directories, so we don't expand the index.
|
* partial sparse directories, so we know we don't need to
|
||||||
|
* expand the index.
|
||||||
|
*
|
||||||
|
* Examples:
|
||||||
|
* - in-cone/foo***: doesn't need expanded index
|
||||||
|
* - not-in-cone/bar*: may need expanded index
|
||||||
|
* - **.c: may need expanded index
|
||||||
*/
|
*/
|
||||||
if (path_in_cone_mode_sparse_checkout(item.original, &the_index) &&
|
if (strspn(item.original + item.nowildcard_len, "*") == item.len - item.nowildcard_len &&
|
||||||
strspn(item.original + item.nowildcard_len, "*") == item.len - item.nowildcard_len)
|
path_in_cone_mode_sparse_checkout(item.original, &the_index))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
for (pos = 0; pos < active_nr; pos++) {
|
for (pos = 0; pos < active_nr; pos++) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user