From: Brian Gernhardt Date: Tue, 24 Aug 2010 02:37:24 +0000 (-0400) Subject: t7610: cd inside subshell instead of around X-Git-Tag: v1.7.3-rc0~43 X-Git-Url: https://git.tokkee.org/?a=commitdiff_plain;h=25641fcdb0d31130fadd649861035cc7db859cf7;p=git.git t7610: cd inside subshell instead of around Instead of using `cd dir && (...) && cd..` use `(cd dir && ...)` This ensures that the test doesn't get caught in the subdirectory if there is an error in the subshell. Signed-off-by: Brian Gernhardt Signed-off-by: Junio C Hamano --- diff --git a/t/t7610-mergetool.sh b/t/t7610-mergetool.sh index f5a7bf47e..3bd74042e 100755 --- a/t/t7610-mergetool.sh +++ b/t/t7610-mergetool.sh @@ -68,22 +68,24 @@ test_expect_success 'mergetool crlf' ' ' test_expect_success 'mergetool in subdir' ' - git checkout -b test3 branch1 - cd subdir && ( - test_must_fail git merge master >/dev/null 2>&1 && - ( yes "" | git mergetool file3 >/dev/null 2>&1 ) && - test "$(cat file3)" = "master new sub") && - cd .. + git checkout -b test3 branch1 && + ( + cd subdir && + test_must_fail git merge master >/dev/null 2>&1 && + ( yes "" | git mergetool file3 >/dev/null 2>&1 ) && + test "$(cat file3)" = "master new sub" + ) ' test_expect_success 'mergetool on file in parent dir' ' - cd subdir && ( - ( yes "" | git mergetool ../file1 >/dev/null 2>&1 ) && - ( yes "" | git mergetool ../file2 >/dev/null 2>&1 ) && - test "$(cat ../file1)" = "master updated" && - test "$(cat ../file2)" = "master new" && - git commit -m "branch1 resolved with mergetool - subdir") && - cd .. + ( + cd subdir && + ( yes "" | git mergetool ../file1 >/dev/null 2>&1 ) && + ( yes "" | git mergetool ../file2 >/dev/null 2>&1 ) && + test "$(cat ../file1)" = "master updated" && + test "$(cat ../file2)" = "master new" && + git commit -m "branch1 resolved with mergetool - subdir" + ) ' test_expect_success 'mergetool skips autoresolved' ' @@ -96,16 +98,17 @@ test_expect_success 'mergetool skips autoresolved' ' ' test_expect_success 'mergetool merges all from subdir' ' - cd subdir && ( - git config rerere.enabled false && - test_must_fail git merge master && - git mergetool --no-prompt && - test "$(cat ../file1)" = "master updated" && - test "$(cat ../file2)" = "master new" && - test "$(cat file3)" = "master new sub" && - git add ../file1 ../file2 file3 && - git commit -m "branch2 resolved by mergetool from subdir") && - cd .. + ( + cd subdir && + git config rerere.enabled false && + test_must_fail git merge master && + git mergetool --no-prompt && + test "$(cat ../file1)" = "master updated" && + test "$(cat ../file2)" = "master new" && + test "$(cat file3)" = "master new sub" && + git add ../file1 ../file2 file3 && + git commit -m "branch2 resolved by mergetool from subdir" + ) ' test_done