On 2022.04.07 16:37, Derrick Stolee via GitGitGadget wrote: > From: Derrick Stolee <dstolee@xxxxxxxxxxxxx> > > Signed-off-by: Derrick Stolee <derrickstolee@xxxxxxxxxx> > --- > t/t1092-sparse-checkout-compatibility.sh | 16 ++++++++++++++++ > 1 file changed, 16 insertions(+) > > diff --git a/t/t1092-sparse-checkout-compatibility.sh b/t/t1092-sparse-checkout-compatibility.sh > index 236ab530284..74792b5ebbc 100755 > --- a/t/t1092-sparse-checkout-compatibility.sh > +++ b/t/t1092-sparse-checkout-compatibility.sh > @@ -1151,6 +1151,22 @@ test_expect_success 'clean' ' > test_sparse_match test_path_is_dir folder1 > ' > > +test_expect_success 'show (cached blobs/trees)' ' > + init_repos && > + > + test_all_match git show :a && > + test_all_match git show :deep/a && > + test_sparse_match git show :folder1/a && > + > + # Asking "git show" for directories in the index > + # does not work as implemented. The error message is > + # different for a full checkout and a sparse checkout > + # when the directory is outside of the cone. > + test_all_match test_must_fail git show :deep/ && > + test_must_fail git -C full-checkout show :folder1/ && > + test_sparse_match test_must_fail git show :folder1/ > +' A reminder that directories are not present in a non-sparse index would help those of us unfamiliar with the differences between sparse/non-sparse indexes to understand why the full-checkout cases fail here. Initially I was confused why any of these lookups would fail because my mental model was "a sparse-index is a proper subset of the non-sparse index". > + > test_expect_success 'submodule handling' ' > init_repos && > > -- > gitgitgadget >