Skip to content

Sparse checkout: fix mixed-mode pattern issues

Derrick Stolee via GitGitGadget git 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest3 patches 6 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/3sparse-checkout: fix OOM error with mixed patternsbuiltin/sparse-checkout.c t/t1091-sparse-checkout-builtin.sh+9 -13 replies
2/3sparse-checkout: clear patterns when switching modesbuiltin/sparse-checkout.c t/t1091-sparse-checkout-builtin.sh+19 -32 replies
3/3sparse-checkout: refuse to add to bad patternsbuiltin/sparse-checkout.c dir.c t/t1091-sparse-checkout-builtin.sh+11 -51 reply

Reviews trailers per patch

None of the 3 patches has a Reviewed-by or Acked-by.

PatchTaylor Blau
1/3Helped-by
2/3
3/3

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v1 thread

Cover letter [PATCH 0/3] Sparse checkout: fix mixed-mode pattern issues

This fixes a memory leak reported in [1], but also fixes some behavior concerns around the sparse-checkout command when the sparse-checkout file does not use cone mode patterns, but cone mode is enabled.

[1]
https://lore.kernel.org/git/CAKRwm5a9PyqffEC5N__urSpNcZ-d5vz9GBM2Ei16eGS25B=-FQ@mail.gmail.com/

1. The first patch fixes the OOM as recommended by Taylor.
2. The second patch changes the behavior of 'git sparse-checkout init --cone' to overwrite the sparse-checkout file if the patterns are not in cone mode.
3. The third patch causes 'git sparse-checkout add' to fail if cone mode is enabled but the existing patterns are not in cone mode. This also requires strengthening our pattern filtering to require the first character be a slash ('/'), which should have been there from the start.

Thanks, -Stolee

Derrick Stolee (3):
sparse-checkout: fix OOM error with mixed patterns
sparse-checkout: clear patterns when switching modes
sparse-checkout: refuse to add to bad patterns

 builtin/sparse-checkout.c          | 18 +++++++++++++++---
 dir.c                              |  2 +-
 t/t1091-sparse-checkout-builtin.sh | 22 ++++++++++++++++++++--
 3 files changed, 36 insertions(+), 6 deletions(-)

base-commit: 4c719308ce59dc70e606f910f40801f2c6051b24
Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-1043%2Fderrickstolee%2Fsparse-checkout-fix-v1
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-1043/derrickstolee/sparse-checkout-fix-v1
Pull-Request: https://github.com/gitgitgadget/git/pull/1043

Signature · 1 line
gitgitgadget