[0/1] sparse-checkout: respect core.ignoreCase in cone mode
mbox series

Message ID pull.488.git.1575920580.gitgitgadget@gmail.com
Headers show
Series
  • sparse-checkout: respect core.ignoreCase in cone mode
Related show

Message

Han-Wen Nienhuys via GitGitGadget Dec. 9, 2019, 7:42 p.m. UTC
This is the first of several cleanups to the sparse-checkout feature that
had a large overhaul in ds/sparse-cone.

We have an internal customer that plans to use sparse-checkout as a core
feature of their version control experience. They use a case-insensitive
filesystem, so as they created their directory dependency graph they did not
keep consistent casing. This data is what they plan to feed to "git
sparse-checkout set".

While I would certainly prefer that the data is cleaned up (and that process
is ongoing), I could not argue with the logic that git add does the "right
thing" when core.ignoreCase is enabled.

Thanks, -Stolee

Derrick Stolee (1):
  sparse-checkout: respect core.ignoreCase in cone mode

 Documentation/git-sparse-checkout.txt |  4 ++++
 builtin/sparse-checkout.c             | 19 +++++++++++++++++--
 cache.h                               |  1 +
 name-hash.c                           | 10 ++++++++++
 t/t1091-sparse-checkout-builtin.sh    | 13 +++++++++++++
 5 files changed, 45 insertions(+), 2 deletions(-)


base-commit: cff4e9138d8df45e3b6199171092ee781cdadaeb
Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-488%2Fderrickstolee%2Fsparse-case-v1
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-488/derrickstolee/sparse-case-v1
Pull-Request: https://github.com/gitgitgadget/git/pull/488

Comments

Ed Maste Dec. 18, 2019, 11:41 a.m. UTC | #1
On Mon, 9 Dec 2019 at 14:43, Derrick Stolee via GitGitGadget
<gitgitgadget@gmail.com> wrote:
>
> This is the first of several cleanups to the sparse-checkout feature that
> had a large overhaul in ds/sparse-cone.

After this landed in next t1091-sparse-checkout-builtin.sh failed in
my Cirrus-CI run on FreeBSD -
https://cirrus-ci.com/task/5085664047005696

The first failure is:

not ok 4 - git sparse-checkout init
#
# git -C repo sparse-checkout init &&
# cat >expect <<-EOF &&
# /*
# !/*/
# EOF
# test_cmp expect repo/.git/info/sparse-checkout &&
# test_cmp_config -C repo true core.sparsecheckout &&
# ls repo >dir &&
# echo a >expect &&
# test_cmp expect dir
#

I'm trying to reproduce locally and investigate.