t1091/t3705: remove 'test-tool read-cache --table'

Now that 'git ls-files --sparse' exists, we can use it to verify the
state of a sparse index instead of 'test-tool read-cache table'. Replace
these usages within t1091-sparse-checkout-builtin.sh and
t3705-add-sparse-checkout.sh.

The important changes are due to the different output format. In t3705,
we need to use the '--stage' output to get a file mode and OID, but
it also includes a stage value and drops the object type. This leads
to some differences in how we handle looking for specific entries.

In t1091, the test focuses on enabling the sparse index, so we do not
need the --stage flag to demonstrate how the index changes, and instead
can use a diff.

Signed-off-by: Derrick Stolee <dstolee@microsoft.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Derrick Stolee
2021-12-22 14:20:55 +00:00
committed by Junio C Hamano
parent 3a9a6ac5d9
commit c2a2940510
2 changed files with 24 additions and 9 deletions

View File

@ -212,12 +212,27 @@ test_expect_success 'sparse-index enabled and disabled' '
git -C repo sparse-checkout init --cone --sparse-index && git -C repo sparse-checkout init --cone --sparse-index &&
test_cmp_config -C repo true index.sparse && test_cmp_config -C repo true index.sparse &&
test-tool -C repo read-cache --table >cache && git -C repo ls-files --sparse >sparse &&
grep " tree " cache &&
git -C repo sparse-checkout disable && git -C repo sparse-checkout disable &&
test-tool -C repo read-cache --table >cache && git -C repo ls-files --sparse >full &&
! grep " tree " cache &&
cat >expect <<-\EOF &&
@@ -1,4 +1,7 @@
a
-deep/
-folder1/
-folder2/
+deep/a
+deep/deeper1/a
+deep/deeper1/deepest/a
+deep/deeper2/a
+folder1/a
+folder2/a
EOF
diff -u sparse full | tail -n +3 >actual &&
test_cmp expect actual &&
git -C repo config --list >config && git -C repo config --list >config &&
! grep index.sparse config ! grep index.sparse config
) )

View File

@ -181,13 +181,13 @@ test_expect_success 'git add fails outside of sparse-checkout definition' '
# Avoid munging CRLFs to avoid an error message # Avoid munging CRLFs to avoid an error message
git -c core.autocrlf=input add --sparse sparse_entry 2>stderr && git -c core.autocrlf=input add --sparse sparse_entry 2>stderr &&
test_must_be_empty stderr && test_must_be_empty stderr &&
test-tool read-cache --table >actual && git ls-files --stage >actual &&
grep "^100644 blob.*sparse_entry\$" actual && grep "^100644 .*sparse_entry\$" actual &&
git add --sparse --chmod=+x sparse_entry 2>stderr && git add --sparse --chmod=+x sparse_entry 2>stderr &&
test_must_be_empty stderr && test_must_be_empty stderr &&
test-tool read-cache --table >actual && git ls-files --stage >actual &&
grep "^100755 blob.*sparse_entry\$" actual && grep "^100755 .*sparse_entry\$" actual &&
git reset && git reset &&