1
0
Fork 0
mirror of https://github.com/git/git.git synced 2024-10-28 04:49:43 +01:00

Merge branch 'ds/sparse-checkout-expansion-advice'

When "git sparse-checkout disable" turns a sparse checkout into a
regular checkout, the index is fully expanded.  This totally
expected behaviour however had an "oops, we are expanding the
index" advice message, which has been corrected.

* ds/sparse-checkout-expansion-advice:
  sparse-checkout: disable advice in 'disable'
This commit is contained in:
Junio C Hamano 2024-10-02 07:46:24 -07:00
commit 9293a93186
4 changed files with 19 additions and 3 deletions

View file

@ -924,6 +924,11 @@ static int sparse_checkout_disable(int argc, const char **argv,
builtin_sparse_checkout_disable_options,
builtin_sparse_checkout_disable_usage, 0);
/*
* Disable the advice message for expanding a sparse index, as we
* are expecting to do that when disabling sparse-checkout.
*/
give_advice_on_expansion = 0;
repo_read_index(the_repository);
memset(&pl, 0, sizeof(pl));

View file

@ -21,9 +21,10 @@
* advice for advice.sparseIndexExpanded when expanding a sparse index to a full
* one. However, this is sometimes done on purpose, such as in the sparse-checkout
* builtin, even when index.sparse=false. This may be disabled in
* convert_to_sparse().
* convert_to_sparse() or by commands that know they will lead to a full
* expansion, but this message is not actionable.
*/
static int give_advice_on_expansion = 1;
int give_advice_on_expansion = 1;
#define ADVICE_MSG \
"The sparse index is expanding to a full index, a slow operation.\n" \
"Your working directory likely has contents that are outside of\n" \

View file

@ -1,6 +1,13 @@
#ifndef SPARSE_INDEX_H__
#define SPARSE_INDEX_H__
/*
* If performing an operation where the index is supposed to expand to a
* full index, then disable the advice message by setting this global to
* zero.
*/
extern int give_advice_on_expansion;
struct index_state;
#define SPARSE_INDEX_MEMORY_ONLY (1 << 0)
int is_sparse_index_allowed(struct index_state *istate, int flags);

View file

@ -2355,7 +2355,10 @@ test_expect_success 'advice.sparseIndexExpanded' '
mkdir -p sparse-index/deep/deeper2/deepest &&
touch sparse-index/deep/deeper2/deepest/bogus &&
git -C sparse-index status 2>err &&
grep "The sparse index is expanding to a full index" err
grep "The sparse index is expanding to a full index" err &&
git -C sparse-index sparse-checkout disable 2>err &&
test_line_count = 0 err
'
test_expect_success 'cat-file -p' '