Shuqi Liang wrote: > +test_expect_success 'diff-files with pathspec inside sparse definition' ' > + init_repos && > + > + write_script edit-contents <<-\EOF && > + echo text >>"$1" > + EOF > + > + run_on_all ../edit-contents deep/a && > + > + test_all_match git diff-files && > + > + test_all_match git diff-files deep/a && > + > + # test wildcard > + test_all_match git diff-files deep/* Should this pathspec be quoted (like you do for "folder*/a" below)? > +' > + > +test_expect_success 'diff-files with pathspec outside sparse definition' ' > + init_repos && > + > + test_sparse_match test_must_fail git diff-files folder2/a && > + > + write_script edit-contents <<-\EOF && > + echo text >>"$1" > + EOF > + > + # Add file to the index but outside of cone for sparse-checkout cases. > + # Add file to the index without sparse-checkout cases to ensure all have > + # same output. > + run_on_all mkdir -p folder1 && > + run_on_all cp a folder1/a && > + > + # file present on-disk without modifications > + # use `--stat` to ignore file creation time differences in > + # unrefreshed index > + test_all_match git diff-files --stat && > + test_all_match git diff-files --stat folder1/a && > + test_all_match git diff-files --stat "folder*/a" && > + > + # file present on-disk with modifications > + run_on_all ../edit-contents folder1/a && > + test_all_match git diff-files && > + test_all_match git diff-files folder1/a && > + test_all_match git diff-files "folder*/a" > +' > + > test_done