Re: [PATCH v3 2/7] sparse-checkout: add basics of 'clean' command
- From
Derrick Stolee <stolee@gmail.com>
- Date
- Oct 20, 2025, 14:16 UTC
- Message-ID
- <0f517519-74bb-4f46-b7df-5e25a780a536@gmail.com>
- In-Reply-To
- <CABPp-BGJ66e=znwOxvU0fLiw=KXwMg8FZxa283Jr5PXut_ECWg@mail.gmail.com>
On 10/7/25 6:49 PM, Elijah Newren wrote:
> On Fri, Sep 12, 2025 at 3:30 AM Derrick Stolee via GitGitGadget
Show 14 quoted lines
>> +Some special cases, such as merge conflicts or modified files outside of >> +the sparse-checkout definition could lead to keeping files that would >> +otherwise be removed. Resolve conflicts, stage modifications, and use >> +`git sparse-checkout reapply` in conjunction with `git sparse-checkout >> +clean` to resolve these cases. >> ++ >> +This command can be used to be sure the sparse index works efficiently, >> +though it does not require enabling the sparse index feature via the >> +`index.sparse=true` configuration. > > This expanded explanation for users is nice too. I particularly like > that you called out three things users need to use in conjunction with > this command -- resolving conflicts, staging modifications, and using > `git sparse-checkout reapply`...
These cases are about 'git sparse-checkout clean' itself...
Show 8 quoted lines
> [...]
>> + if (convert_to_sparse(repo->index, SPARSE_INDEX_MEMORY_ONLY) ||
>> + repo->index->sparse_index == INDEX_EXPANDED)
>> + die(_("failed to convert index to a sparse index; resolve merge conflicts and try again"));
>
> ...yet the error message you give to users only lists one of those
> three things even though the other two may be the problem. Could we
> fix up the error message?But this is specifically about the convert_to_sparse() action, which is very limited in what could cause it to fail.
I _will_ update the advice later (added in Patch 6) to include the more detailed set of actions.
Thanks, -Stolee