t5614: don't use subshells
authorStefan Beller <sbeller@google.com>
Mon, 20 Jun 2016 17:21:18 +0000 (10:21 -0700)
committerJunio C Hamano <gitster@pobox.com>
Tue, 21 Jun 2016 19:08:38 +0000 (12:08 -0700)
Using a subshell for just one git command is both a waste in compute
overhead (create a new process) as well as in line count.

Suggested-by: Jeff King <peff@peff.net>
Signed-off-by: Stefan Beller <sbeller@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/t5614-clone-submodules.sh
index a9aaa018ed2a09ff0561751923c459454d349cf2..da2a67f656beb5178d08597044fa8abb7c831863 100755 (executable)
@@ -25,76 +25,46 @@ test_expect_success 'setup' '
 test_expect_success 'nonshallow clone implies nonshallow submodule' '
        test_when_finished "rm -rf super_clone" &&
        git clone --recurse-submodules "file://$pwd/." super_clone &&
-       (
-               cd super_clone &&
-               git log --oneline >lines &&
-               test_line_count = 3 lines
-       ) &&
-       (
-               cd super_clone/sub &&
-               git log --oneline >lines &&
-               test_line_count = 3 lines
-       )
+       git -C super_clone log --oneline >lines &&
+       test_line_count = 3 lines &&
+       git -C super_clone/sub log --oneline >lines &&
+       test_line_count = 3 lines
 '
 
 test_expect_success 'shallow clone with shallow submodule' '
        test_when_finished "rm -rf super_clone" &&
        git clone --recurse-submodules --depth 2 --shallow-submodules "file://$pwd/." super_clone &&
-       (
-               cd super_clone &&
-               git log --oneline >lines &&
-               test_line_count = 2 lines
-       ) &&
-       (
-               cd super_clone/sub &&
-               git log --oneline >lines &&
-               test_line_count = 1 lines
-       )
+       git -C super_clone log --oneline >lines &&
+       test_line_count = 2 lines &&
+       git -C super_clone/sub log --oneline >lines &&
+       test_line_count = 1 lines
 '
 
 test_expect_success 'shallow clone does not imply shallow submodule' '
        test_when_finished "rm -rf super_clone" &&
        git clone --recurse-submodules --depth 2 "file://$pwd/." super_clone &&
-       (
-               cd super_clone &&
-               git log --oneline >lines &&
-               test_line_count = 2 lines
-       ) &&
-       (
-               cd super_clone/sub &&
-               git log --oneline >lines &&
-               test_line_count = 3 lines
-       )
+       git -C super_clone log --oneline >lines &&
+       test_line_count = 2 lines &&
+       git -C super_clone/sub log --oneline >lines &&
+       test_line_count = 3 lines
 '
 
 test_expect_success 'shallow clone with non shallow submodule' '
        test_when_finished "rm -rf super_clone" &&
        git clone --recurse-submodules --depth 2 --no-shallow-submodules "file://$pwd/." super_clone &&
-       (
-               cd super_clone &&
-               git log --oneline >lines &&
-               test_line_count = 2 lines
-       ) &&
-       (
-               cd super_clone/sub &&
-               git log --oneline >lines &&
-               test_line_count = 3 lines
-       )
+       git -C super_clone log --oneline >lines &&
+       test_line_count = 2 lines &&
+       git -C super_clone/sub log --oneline >lines &&
+       test_line_count = 3 lines
 '
 
 test_expect_success 'non shallow clone with shallow submodule' '
        test_when_finished "rm -rf super_clone" &&
        git clone --recurse-submodules --no-local --shallow-submodules "file://$pwd/." super_clone &&
-       (
-               cd super_clone &&
-               git log --oneline >lines &&
-               test_line_count = 3 lines
-       ) &&
-       (
-               cd super_clone/sub &&
-               git log --oneline >lines &&
-               test_line_count = 1 lines
-       )
+       git -C super_clone log --oneline >lines &&
+       test_line_count = 3 lines &&
+       git -C super_clone/sub log --oneline >lines &&
+       test_line_count = 1 lines
 '
 
 test_done