From: "Victoria Dye via GitGitGadget" <gitgitgadget@gmail.com> To: git@vger.kernel.org Cc: stolee@gmail.com, newren@gmail.com, gitster@pobox.com, Victoria Dye <vdye@github.com>, Victoria Dye <vdye@github.com> Subject: [PATCH 2/9] reset: reorder wildcard pathspec conditions Date: Tue, 04 Jan 2022 17:36:53 +0000 [thread overview] Message-ID: <0194d894c2f9c5ae4bbaac4cd6fca89933a04789.1641317820.git.gitgitgadget@gmail.com> (raw) In-Reply-To: <pull.1109.git.1641317820.gitgitgadget@gmail.com> From: Victoria Dye <vdye@github.com> 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> --- builtin/reset.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/builtin/reset.c b/builtin/reset.c index b1ff699b43a..79b40385b99 100644 --- a/builtin/reset.c +++ b/builtin/reset.c @@ -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 * 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) && - strspn(item.original + item.nowildcard_len, "*") == item.len - item.nowildcard_len) + if (strspn(item.original + item.nowildcard_len, "*") == item.len - item.nowildcard_len && + path_in_cone_mode_sparse_checkout(item.original, &the_index)) continue; for (pos = 0; pos < active_nr; pos++) { -- gitgitgadget
next prev parent reply other threads:[~2022-01-04 17:37 UTC|newest] Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top 2022-01-04 17:36 [PATCH 0/9] Sparse index: integrate with 'clean', 'checkout-index', 'update-index' Victoria Dye via GitGitGadget 2022-01-04 17:36 ` [PATCH 1/9] reset: fix validation in sparse index test Victoria Dye via GitGitGadget 2022-01-04 17:36 ` Victoria Dye via GitGitGadget [this message] 2022-01-04 17:36 ` [PATCH 3/9] clean: integrate with sparse index Victoria Dye via GitGitGadget 2022-01-04 17:36 ` [PATCH 4/9] checkout-index: expand sparse checkout compatibility tests Victoria Dye via GitGitGadget 2022-01-05 21:04 ` Elijah Newren 2022-01-07 16:21 ` Elijah Newren 2022-01-04 17:36 ` [PATCH 5/9] checkout-index: add --ignore-skip-worktree-bits option Victoria Dye via GitGitGadget 2022-01-06 1:52 ` Elijah Newren 2022-01-06 15:07 ` Victoria Dye 2022-01-07 16:35 ` Elijah Newren 2022-01-04 17:36 ` [PATCH 6/9] checkout-index: integrate with sparse index Victoria Dye via GitGitGadget 2022-01-06 1:59 ` Elijah Newren 2022-01-04 17:36 ` [PATCH 7/9] update-index: add tests for sparse-checkout compatibility Victoria Dye via GitGitGadget 2022-01-08 23:57 ` Elijah Newren 2022-01-10 15:47 ` Victoria Dye 2022-01-10 17:11 ` Elijah Newren 2022-01-10 18:01 ` Victoria Dye 2022-01-10 20:03 ` Elijah Newren 2022-01-04 17:36 ` [PATCH 8/9] update-index: integrate with sparse index Victoria Dye via GitGitGadget 2022-01-09 1:49 ` Elijah Newren 2022-01-10 14:10 ` Victoria Dye 2022-01-10 15:52 ` Elijah Newren 2022-01-04 17:37 ` [PATCH 9/9] update-index: reduce scope of index expansion in do_reupdate Victoria Dye via GitGitGadget 2022-01-09 4:24 ` Elijah Newren 2022-01-09 4:41 ` [PATCH 0/9] Sparse index: integrate with 'clean', 'checkout-index', 'update-index' Elijah Newren 2022-01-11 18:04 ` [PATCH v2 " Victoria Dye via GitGitGadget 2022-01-11 18:04 ` [PATCH v2 1/9] reset: fix validation in sparse index test Victoria Dye via GitGitGadget 2022-01-11 18:04 ` [PATCH v2 2/9] reset: reorder wildcard pathspec conditions Victoria Dye via GitGitGadget 2022-01-11 18:05 ` [PATCH v2 3/9] clean: integrate with sparse index Victoria Dye via GitGitGadget 2022-01-11 18:05 ` [PATCH v2 4/9] checkout-index: expand sparse checkout compatibility tests Victoria Dye via GitGitGadget 2022-01-11 18:05 ` [PATCH v2 5/9] checkout-index: add --ignore-skip-worktree-bits option Victoria Dye via GitGitGadget 2022-01-11 18:05 ` [PATCH v2 6/9] checkout-index: integrate with sparse index Victoria Dye via GitGitGadget 2022-01-11 18:05 ` [PATCH v2 7/9] update-index: add tests for sparse-checkout compatibility Victoria Dye via GitGitGadget 2022-01-11 18:05 ` [PATCH v2 8/9] update-index: integrate with sparse index Victoria Dye via GitGitGadget 2022-01-11 18:05 ` [PATCH v2 9/9] update-index: reduce scope of index expansion in do_reupdate Victoria Dye via GitGitGadget 2022-01-13 3:02 ` [PATCH v2 0/9] Sparse index: integrate with 'clean', 'checkout-index', 'update-index' Elijah Newren 2022-01-27 16:36 ` Derrick Stolee 2022-01-27 20:04 ` Junio C Hamano
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=0194d894c2f9c5ae4bbaac4cd6fca89933a04789.1641317820.git.gitgitgadget@gmail.com \ --to=gitgitgadget@gmail.com \ --cc=git@vger.kernel.org \ --cc=gitster@pobox.com \ --cc=newren@gmail.com \ --cc=stolee@gmail.com \ --cc=vdye@github.com \ --subject='Re: [PATCH 2/9] reset: reorder wildcard pathspec conditions' \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).