sparse-checkout: --no-sparse-index needs a full index

When the --no-sparse-index option is supplied, the sparse-checkout builtin should explicitly ask to expand a sparse index to a full one. This is currently done implicitly due to the command_requires_full_index protection, but that will be removed in an upcoming change. Signed-off-by: Derrick Stolee <derrickstolee@github.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>

Derrick Stolee committed May 23, 2022 at 13:48 UTC 2d443389fddf1b9b50664669b55c701a53f12eb2
1 file changed +3
builtin/sparse-checkout.c
+3
@@ -413,6 +413,9 @@ static int update_modes(int *cone_mode, int *sparse_index)
413 /* force an index rewrite */
414 repo_read_index(the_repository);
415 the_repository->index->updated_workdir = 1;
416 +
417 + if (!*sparse_index)
418 + ensure_full_index(the_repository->index);
419 }
420
421 return 0;