Skip to content

Commit

Permalink
t1092: add sparse directory before cone in test repo
Browse files Browse the repository at this point in the history
Add a sparse directory 'before/' containing files 'a' and 'b' to the test
repo used in 't/t1092-sparse-checkout-compatibility.sh'. This is meant to
ensure that no sparse index integrations rely on the in-cone path(s) being
lexicographically first in the repo.

Unfortunately, some existing tests do not handle this repo architecture
properly:

* 'add outside sparse cone'
* 'status/add: outside sparse cone'
* 'reset with pathspecs inside sparse definition'

All three of these are due to the incorrect handling of the
'unpack_trees_options.cache_bottom' when performing a cache diff via
'unpack_trees'. This will be corrected in a future patch; in the meantime,
mark the tests with 'test_expect_failure'.

Finally, update the 'ls-files' and 'root directory cannot be sparse' tests
to include the 'before/' directory in their expected index contents.

Co-authored-by: Derrick Stolee <derrickstolee@github.com>
Signed-off-by: Victoria Dye <vdye@github.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
  • Loading branch information
2 people authored and gitster committed Mar 17, 2022
1 parent 74cc1aa commit c3a9cec
Showing 1 changed file with 9 additions and 4 deletions.
13 changes: 9 additions & 4 deletions t/t1092-sparse-checkout-compatibility.sh
Expand Up @@ -16,7 +16,9 @@ test_expect_success 'setup' '
echo "after deep" >e &&
echo "after folder1" >g &&
echo "after x" >z &&
mkdir folder1 folder2 deep x &&
mkdir folder1 folder2 deep before x &&
echo "before deep" >before/a &&
echo "before deep again" >before/b &&
mkdir deep/deeper1 deep/deeper2 deep/before deep/later &&
mkdir deep/deeper1/deepest &&
mkdir deep/deeper1/deepest2 &&
Expand Down Expand Up @@ -254,6 +256,7 @@ test_expect_success 'root directory cannot be sparse' '
# Verify sparse directories still present, root directory is not sparse
cat >expect <<-EOF &&
before/
folder1/
folder2/
x/
Expand Down Expand Up @@ -337,7 +340,7 @@ test_expect_success 'deep changes during checkout' '
test_all_match git checkout base
'

test_expect_success 'add outside sparse cone' '
test_expect_failure 'add outside sparse cone' '
init_repos &&
run_on_sparse mkdir folder1 &&
Expand Down Expand Up @@ -379,7 +382,7 @@ test_expect_success 'commit including unstaged changes' '
test_all_match git status --porcelain=v2
'

test_expect_success 'status/add: outside sparse cone' '
test_expect_failure 'status/add: outside sparse cone' '
init_repos &&
# folder1 is at HEAD, but outside the sparse cone
Expand Down Expand Up @@ -590,7 +593,7 @@ test_expect_success 'checkout and reset (keep)' '
test_all_match test_must_fail git reset --keep deepest
'

test_expect_success 'reset with pathspecs inside sparse definition' '
test_expect_failure 'reset with pathspecs inside sparse definition' '
init_repos &&
write_script edit-contents <<-\EOF &&
Expand Down Expand Up @@ -1444,6 +1447,7 @@ test_expect_success 'ls-files' '
cat >expect <<-\EOF &&
a
before/
deep/
e
folder1-
Expand Down Expand Up @@ -1491,6 +1495,7 @@ test_expect_success 'ls-files' '
cat >expect <<-\EOF &&
a
before/
deep/
e
folder1-
Expand Down

0 comments on commit c3a9cec

Please sign in to comment.