Instead of (echo y; echo n; echo n) | git checkout -p HEAD^ -- dir write printf "%s\n" y n n | git checkout -p HEAD^ -- dir which means the same thing but might be easier to read. While at it, add a missing && to the "git checkout -p HEAD with change already staged" test. Cc: Thomas Rast <trast@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Nieder <jrnieder@xxxxxxxxx> --- t/t2016-checkout-patch.sh | 43 +++++++++++++++++++++++++++++-------------- 1 files changed, 29 insertions(+), 14 deletions(-) diff --git a/t/t2016-checkout-patch.sh b/t/t2016-checkout-patch.sh index 2144184..8cb7f46 100755 --- a/t/t2016-checkout-patch.sh +++ b/t/t2016-checkout-patch.sh @@ -20,48 +20,55 @@ test_expect_success 'setup' ' test_expect_success 'saying "n" does nothing' ' set_and_save_state dir/foo work head && - (echo n; echo n) | git checkout -p && + printf "%s\n" n n | + git checkout -p && verify_saved_state bar && verify_saved_state dir/foo ' test_expect_success 'git checkout -p' ' - (echo n; echo y) | git checkout -p && + printf "%s\n" n y | + git checkout -p && verify_saved_state bar && verify_state dir/foo head head ' test_expect_success 'git checkout -p with staged changes' ' - set_state dir/foo work index - (echo n; echo y) | git checkout -p && + set_state dir/foo work index && + printf "%s\n" n y | + git checkout -p && verify_saved_state bar && verify_state dir/foo index index ' test_expect_success 'git checkout -p HEAD with NO staged changes: abort' ' set_and_save_state dir/foo work head && - (echo n; echo y; echo n) | git checkout -p HEAD && + printf "%s\n" n y n | + git checkout -p HEAD && verify_saved_state bar && verify_saved_state dir/foo ' test_expect_success 'git checkout -p HEAD with NO staged changes: apply' ' - (echo n; echo y; echo y) | git checkout -p HEAD && + printf "%s\n" n y y | + git checkout -p HEAD && verify_saved_state bar && verify_state dir/foo head head ' test_expect_success 'git checkout -p HEAD with change already staged' ' - set_state dir/foo index index + set_state dir/foo index index && # the third n is to get out in case it mistakenly does not apply - (echo n; echo y; echo n) | git checkout -p HEAD && + printf "%s\n" n y n | + git checkout -p HEAD && verify_saved_state bar && verify_state dir/foo head head ' test_expect_success 'git checkout -p HEAD^' ' # the third n is to get out in case it mistakenly does not apply - (echo n; echo y; echo n) | git checkout -p HEAD^ && + printf "%s\n" n y n | + git checkout -p HEAD^ && verify_saved_state bar && verify_state dir/foo parent parent ' @@ -69,7 +76,8 @@ test_expect_success 'git checkout -p HEAD^' ' test_expect_success 'git checkout -p handles deletion' ' set_state dir/foo work index && rm dir/foo && - (echo n; echo y) | git checkout -p && + printf "%s\n" n y | + git checkout -p && verify_saved_state bar && verify_state dir/foo index index ' @@ -81,21 +89,24 @@ test_expect_success 'git checkout -p handles deletion' ' test_expect_success 'path limiting works: dir' ' set_state dir/foo work head && - (echo y; echo n) | git checkout -p dir && + printf "%s\n" y n | + git checkout -p dir && verify_saved_state bar && verify_state dir/foo head head ' test_expect_success 'path limiting works: -- dir' ' set_state dir/foo work head && - (echo y; echo n) | git checkout -p -- dir && + printf "%s\n" y n | + git checkout -p -- dir && verify_saved_state bar && verify_state dir/foo head head ' test_expect_success 'path limiting works: HEAD^ -- dir' ' # the third n is to get out in case it mistakenly does not apply - (echo y; echo n; echo n) | git checkout -p HEAD^ -- dir && + printf "%s\n" y n n | + git checkout -p HEAD^ -- dir && verify_saved_state bar && verify_state dir/foo parent parent ' @@ -103,7 +114,11 @@ test_expect_success 'path limiting works: HEAD^ -- dir' ' test_expect_success 'path limiting works: foo inside dir' ' set_state dir/foo work head && # the third n is to get out in case it mistakenly does not apply - (echo y; echo n; echo n) | (cd dir && git checkout -p foo) && + printf "%s\n" y n n | + ( + cd dir && + git checkout -p foo + ) && verify_saved_state bar && verify_state dir/foo head head ' -- 1.7.2.3 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html