@@ -1909,6 +1909,46 @@ test_expect_success 'sparse index is not expanded: sparse-checkout' '
19091909	ensure_not_expanded sparse-checkout set 
19101910' 
19111911
1912+ #  NEEDSWORK: although the full repository's index is _not_ expanded as part of
1913+ #  stash, a temporary index, which is _not_ sparse, is created when stashing and
1914+ #  applying a stash of untracked files. As a result, the test reports that it
1915+ #  finds an instance of `ensure_full_index`, but it does not carry with it the
1916+ #  performance implications of expanding the full repository index.
1917+ test_expect_success ' sparse index is not expanded: stash -u' ' 
1918+ 	init_repos && 
1919+ 
1920+ 	mkdir -p sparse-index/folder1 && 
1921+ 	echo >>sparse-index/README.md && 
1922+ 	echo >>sparse-index/a && 
1923+ 	echo >>sparse-index/folder1/new && 
1924+ 
1925+ 	GIT_TRACE2_EVENT="$(pwd)/trace2.txt" GIT_TRACE2_EVENT_NESTING=10 \ 
1926+ 		git -C sparse-index stash -u && 
1927+ 	test_region index ensure_full_index trace2.txt && 
1928+ 
1929+ 	GIT_TRACE2_EVENT="$(pwd)/trace2.txt" GIT_TRACE2_EVENT_NESTING=10 \ 
1930+ 		git -C sparse-index stash pop && 
1931+ 	test_region index ensure_full_index trace2.txt 
1932+ ' 
1933+ 
1934+ #  NEEDSWORK: similar to `git add`, untracked files outside of the sparse
1935+ #  checkout definition are successfully stashed and unstashed.
1936+ test_expect_success ' stash -u outside sparse checkout definition' ' 
1937+ 	init_repos && 
1938+ 
1939+ 	write_script edit-contents <<-\EOF && 
1940+ 	echo text >>$1 
1941+ 	EOF 
1942+ 
1943+ 	run_on_sparse mkdir -p folder1 && 
1944+ 	run_on_all ../edit-contents folder1/new && 
1945+ 	test_all_match git stash -u && 
1946+ 	test_all_match git status --porcelain=v2 && 
1947+ 
1948+ 	test_all_match git stash pop -q && 
1949+ 	test_all_match git status --porcelain=v2 
1950+ ' 
1951+ 
19121952#  NEEDSWORK: a sparse-checkout behaves differently from a full checkout
19131953#  in this scenario, but it shouldn't.
19141954test_expect_success ' reset mixed and checkout orphan' ' 
0 commit comments