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

From: "Derrick Stolee via GitGitGadget" <[email-masked]>
Date: Mon, 20 Sep 2021 17:57:35 +0000

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=[email-masked]/

 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
-- 
gitgitgadget