@@ -112,7 +112,9 @@ static int update_working_directory(struct pattern_list *pl)
repo_hold_locked_index(r, &lock_file, LOCK_DIE_ON_ERROR);
+ setup_unpack_trees_porcelain(&o, "sparse-checkout");
result = update_sparsity(&o);
+ clear_unpack_trees_porcelain(&o);
if (result == UPDATE_SPARSITY_WARNINGS)
/*
@@ -328,16 +328,13 @@ test_expect_success 'sparse-checkout (init|set|disable) warns with dirty status'
echo dirty >dirty/folder1/a &&
git -C dirty sparse-checkout init 2>err &&
- test_i18ngrep "error" err &&
- test_i18ngrep "Cannot update sparse checkout" err &&
+ test_i18ngrep "error.*Cannot update sparse checkout" err &&
git -C dirty sparse-checkout set /folder2/* /deep/deeper1/* &&
- test_i18ngrep "error" err &&
- test_i18ngrep "Cannot update sparse checkout" err &&
+ test_i18ngrep "error.*Cannot update sparse checkout" err &&
git -C dirty sparse-checkout disable &&
- test_i18ngrep "error" err &&
- test_i18ngrep "Cannot update sparse checkout" err &&
+ test_i18ngrep "error.*Cannot update sparse checkout" err &&
git -C dirty reset --hard &&
git -C dirty sparse-checkout init &&