From 45c5e47048a89e08a9e844bcf976401af8b60478 Mon Sep 17 00:00:00 2001 From: Elijah Newren Date: Tue, 14 Dec 2021 04:09:05 +0000 Subject: sparse-checkout: add sanity-checks on initial sparsity state Most sparse-checkout subcommands (list, add, reapply) only make sense when already in a sparse state. Add a quick check that will error out early if this is not the case. Also document with a comment why we do not exit early in `disable` even when core.sparseCheckout starts as false. Reviewed-by: Derrick Stolee Reviewed-by: Victoria Dye Signed-off-by: Elijah Newren Signed-off-by: Junio C Hamano --- t/t1091-sparse-checkout-builtin.sh | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 't/t1091-sparse-checkout-builtin.sh') diff --git a/t/t1091-sparse-checkout-builtin.sh b/t/t1091-sparse-checkout-builtin.sh index 272ba1b566..90a281bcf6 100755 --- a/t/t1091-sparse-checkout-builtin.sh +++ b/t/t1091-sparse-checkout-builtin.sh @@ -41,7 +41,15 @@ test_expect_success 'setup' ' ) ' -test_expect_success 'git sparse-checkout list (empty)' ' +test_expect_success 'git sparse-checkout list (not sparse)' ' + test_must_fail git -C repo sparse-checkout list >list 2>err && + test_must_be_empty list && + test_i18ngrep "this worktree is not sparse" err +' + +test_expect_success 'git sparse-checkout list (not sparse)' ' + git -C repo sparse-checkout set && + rm repo/.git/info/sparse-checkout && git -C repo sparse-checkout list >list 2>err && test_must_be_empty list && test_i18ngrep "this worktree is not sparse (sparse-checkout file may not exist)" err -- cgit v1.2.3