Subject: Re: [PATCH 8/8] sparse-index: improve advice message instructions

From: Junio C Hamano <[email-masked]>
Date: Mon, 20 Oct 2025 09:29:20 -0700

Derrick Stolee <[email-masked]> writes:

I am getting

warning: Patch sent with format=flowed; space at the end of lines might be lost.
Applying: sparse-index: improve advice message instructions

but hopefully the result is correct.

>  From 0ee829fea73d495dd32deda4553ea00f9299c701 Mon Sep 17 00:00:00 2001
> From: Derrick Stolee <[email-masked]>
> Date: Mon, 20 Oct 2025 10:19:22 -0400
> Subject: [PATCH 8/8] sparse-index: improve advice message instructions

I will strip the above out with "commit --amend"

> When an on-disk sparse index is expanded to a full one, this could be due to
> some worktree state that requires looking at file entries hidden within
> sparse tree entries.

I would find it smoother to read with "this could be" -> "it could
be", but that would be just me.

> These can be avoided if the worktree is cleaned up and
> some other issues related to the index state.

Now "These" confused me.  Does it refer to the same thing as the
previous sentence refers to with "this"?  Also, I can understand up
to "if the worktree is cleaned up", but the rest of the sentence
does not quite parse for me.  It may be that we are missing " are
resolved" between "state" and the full stop? 

Even though it would leave readers in suspense to know what "some
other issues" are, it is answered by reading the message updated by
the patch, so it is OK ;-)

> Expand the advice message to
> include all of these cases, since 'git sparse-checkout clean' is not
> currently capable of handling all cases.
>
> In the future, we may improve the behavior of 'git sparse-checkout clean' to
> handle all of the cases.
>
> Helped-by: Elijah Newren <[email-masked]>
> Signed-off-by: Derrick Stolee <[email-masked]>
> ---
> Here is an add-on patch to add to this series to hopefully satisfy
> Elijah's feedback. Sorry it took so long to be able to get back to
> this!

Great.  Thanks, both.

If the title were numbered [8/7], that would have been even nicer,
but I was following the discussion this time, so it was not a
surprise to me to see only [8/8] in my mailbox.

> diff --git a/sparse-index.c b/sparse-index.c
> index 5d14795063b..76f90da5f5f 100644
> --- a/sparse-index.c
> +++ b/sparse-index.c
> @@ -32,8 +32,9 @@ int give_advice_on_expansion = 1;
>   	"Your working directory likely has contents that are outside of\n"     \
>   	"your sparse-checkout patterns. Use 'git sparse-checkout list' to\n"   \
>   	"see your sparse-checkout definition and compare it to your working\n" \
> -	"directory contents. Running 'git sparse-checkout clean' may assist\n" \
> -	"in this cleanup."
> +	"directory contents. Cleaning up any merge conflicts or staged\n"      \
> +	"changes before running 'git sparse-checkout clean' or 'git\n"         \
> +	"sparse-checkout reapply' may assist in this cleanup."
>
>   struct modify_index_context {
>   	struct index_state *write;