pr-513/derrickstolee/sparse-harden-v3
tagged this
28 Jan 18:26
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. Updates in V2: * Added C-style quoting to the output of "git sparse-checkout list" in cone mode. * Improved documentation. * Responded to most style feedback. Hopefully I didn't miss anything. * I was lingering on this a little to see if I could also fix the issue raised in [1], but I have not figured that one out, yet. Update in V3: * Input now uses Peff's recommended pattern: unquote C-style strings over stdin and otherwise do not un-escape input. [1] https://lore.kernel.org/git/062301d5d0bc$c3e17760$4ba46620$@Frontier.com/ Thanks, -Stolee Derrick Stolee (11): t1091: use check_files to reduce boilerplate t1091: improve here-docs 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 sparse-checkout: use C-style quotes in 'list' subcommand sparse-checkout: improve docs around 'set' in cone mode Jeff King (1): sparse-checkout: fix documentation typo for core.sparseCheckoutCone Documentation/git-sparse-checkout.txt | 19 +- builtin/clone.c | 2 +- builtin/sparse-checkout.c | 48 +++- dir.c | 68 +++++- t/t1091-sparse-checkout-builtin.sh | 323 +++++++++++++++----------- 5 files changed, 305 insertions(+), 155 deletions(-) base-commit: 4fd683b6a35eabd23dd5183da7f654a1e1f00325 Submitted-As: https://lore.kernel.org/git/pull.513.v3.git.1580236003.gitgitgadget@gmail.com In-Reply-To: https://lore.kernel.org/git/pull.513.git.1579029962.gitgitgadget@gmail.com In-Reply-To: https://lore.kernel.org/git/pull.513.v2.git.1579900782.gitgitgadget@gmail.com
Assets 2
-
2020-01-28T18:26:43Z -
2020-01-28T18:26:43Z -