This series is based on ds/sparse-list-in-cone-mode. This series attempts to clean up some rough edges in the sparse-checkout feature, especially around the cone mode. Unfortunately, after the v2.25.0 release, we noticed an issue with the "git clone --sparse" option when using a URL instead of a local path. This is fixed and properly tested here. Also, let's improve Git's response to these more complicated scenarios: 1. Running "git sparse-checkout init" in a worktree would complain because the "info" dir doesn't exist. 2. Tracked paths that include "*" and "" in their filenames. 3. If a user edits the sparse-checkout file to have non-cone pattern, such as "*" anywhere or "" in the wrong place, then we should respond appropriately. That is: warn that the patterns are not cone-mode, then revert to the old logic. Thanks, -Stolee Derrick Stolee (8): t1091: use check_files to reduce boilerplate sparse-checkout: create leading directories clone: fix --sparse option with URLs sparse-checkout: cone mode does not recognize "**" sparse-checkout: detect short patterns sparse-checkout: warn on incorrect '*' in patterns sparse-checkout: properly match escaped characters sparse-checkout: write escaped patterns in cone mode builtin/clone.c | 2 +- builtin/sparse-checkout.c | 52 ++++- dir.c | 69 ++++++- dir.h | 1 + t/t1091-sparse-checkout-builtin.sh | 320 ++++++++++++++++------------- 5 files changed, 296 insertions(+), 148 deletions(-) base-commit: 4fd683b6a35eabd23dd5183da7f654a1e1f00325 Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-513%2Fderrickstolee%2Fsparse-harden-v1 Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-513/derrickstolee/sparse-harden-v1 Pull-Request: https://github.com/gitgitgadget/git/pull/513 -- gitgitgadget