Message ID | 73fe71abcd578316a81615feee9561015c2a1c53.1725401207.git.gitgitgadget@gmail.com (mailing list archive) |
---|---|
State | Accepted |
Commit | 68c57590d36a47eee57d9d2e73de213f74c044c9 |
Headers | show |
Series | builtin/cat-file: mark 'git cat-file' sparse-index compatible | expand |
"Kevin Lyles via GitGitGadget" <gitgitgadget@gmail.com> writes: > From: Kevin Lyles <klyles@epic.com> > > The 'run_on_sparse' and 'run_on_all' functions do not work correctly for > commands accepting standard input, because they run the same command > multiple times and the first instance consumes it. This also indirectly > affects 'test_all_match' and 'test_sparse_match'. > > ... > -# Usage: test_sprase_checkout_set "<c1> ... <cN>" "<s1> ... <sM>" > +# Usage: test_sparse_checkout_set "<c1> ... <cN>" "<s1> ... <sM>" > # Verifies that "git sparse-checkout set <c1> ... <cN>" succeeds and > # leaves the sparse index in a state where <s1> ... <sM> are sparse > # directories (and <c1> ... <cN> are not). Reads much better. Will queue. Thanks.
diff --git a/t/t1092-sparse-checkout-compatibility.sh b/t/t1092-sparse-checkout-compatibility.sh index 6fa7f5e9587..4cbe9b1465d 100755 --- a/t/t1092-sparse-checkout-compatibility.sh +++ b/t/t1092-sparse-checkout-compatibility.sh @@ -179,22 +179,26 @@ init_repos_as_submodules () { } run_on_sparse () { + cat >run-on-sparse-input && + ( cd sparse-checkout && GIT_PROGRESS_DELAY=100000 "$@" >../sparse-checkout-out 2>../sparse-checkout-err - ) && + ) <run-on-sparse-input && ( cd sparse-index && GIT_PROGRESS_DELAY=100000 "$@" >../sparse-index-out 2>../sparse-index-err - ) + ) <run-on-sparse-input } run_on_all () { + cat >run-on-all-input && + ( cd full-checkout && GIT_PROGRESS_DELAY=100000 "$@" >../full-checkout-out 2>../full-checkout-err - ) && - run_on_sparse "$@" + ) <run-on-all-input && + run_on_sparse "$@" <run-on-all-input } test_all_match () { @@ -221,7 +225,7 @@ test_sparse_unstaged () { done } -# Usage: test_sprase_checkout_set "<c1> ... <cN>" "<s1> ... <sM>" +# Usage: test_sparse_checkout_set "<c1> ... <cN>" "<s1> ... <sM>" # Verifies that "git sparse-checkout set <c1> ... <cN>" succeeds and # leaves the sparse index in a state where <s1> ... <sM> are sparse # directories (and <c1> ... <cN> are not).