t5614: don't use subshells

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>

Stefan Beller committed Jun 20, 2016 at 10:21 UTC 5819c2eeffee489142d62607a5cb19c65167b9e6
1 file changed +20 -50
t/t5614-clone-submodules.sh
+20 -50
@@ -25,76 +25,46 @@ test_expect_success 'setup' '
25 test_expect_success 'nonshallow clone implies nonshallow submodule' '
26 test_when_finished "rm -rf super_clone" &&
27 git clone --recurse-submodules "file://$pwd/." super_clone &&
28 - (
29 - cd super_clone &&
30 - git log --oneline >lines &&
31 - test_line_count = 3 lines
32 - ) &&
33 - (
34 - cd super_clone/sub &&
35 - git log --oneline >lines &&
36 - test_line_count = 3 lines
37 - )
28 + git -C super_clone log --oneline >lines &&
29 + test_line_count = 3 lines &&
30 + git -C super_clone/sub log --oneline >lines &&
31 + test_line_count = 3 lines
32 '
33
34 test_expect_success 'shallow clone with shallow submodule' '
35 test_when_finished "rm -rf super_clone" &&
36 git clone --recurse-submodules --depth 2 --shallow-submodules "file://$pwd/." super_clone &&
43 - (
44 - cd super_clone &&
45 - git log --oneline >lines &&
46 - test_line_count = 2 lines
47 - ) &&
48 - (
49 - cd super_clone/sub &&
50 - git log --oneline >lines &&
51 - test_line_count = 1 lines
52 - )
37 + git -C super_clone log --oneline >lines &&
38 + test_line_count = 2 lines &&
39 + git -C super_clone/sub log --oneline >lines &&
40 + test_line_count = 1 lines
41 '
42
43 test_expect_success 'shallow clone does not imply shallow submodule' '
44 test_when_finished "rm -rf super_clone" &&
45 git clone --recurse-submodules --depth 2 "file://$pwd/." super_clone &&
58 - (
59 - cd super_clone &&
60 - git log --oneline >lines &&
61 - test_line_count = 2 lines
62 - ) &&
63 - (
64 - cd super_clone/sub &&
65 - git log --oneline >lines &&
66 - test_line_count = 3 lines
67 - )
46 + git -C super_clone log --oneline >lines &&
47 + test_line_count = 2 lines &&
48 + git -C super_clone/sub log --oneline >lines &&
49 + test_line_count = 3 lines
50 '
51
52 test_expect_success 'shallow clone with non shallow submodule' '
53 test_when_finished "rm -rf super_clone" &&
54 git clone --recurse-submodules --depth 2 --no-shallow-submodules "file://$pwd/." super_clone &&
73 - (
74 - cd super_clone &&
75 - git log --oneline >lines &&
76 - test_line_count = 2 lines
77 - ) &&
78 - (
79 - cd super_clone/sub &&
80 - git log --oneline >lines &&
81 - test_line_count = 3 lines
82 - )
55 + git -C super_clone log --oneline >lines &&
56 + test_line_count = 2 lines &&
57 + git -C super_clone/sub log --oneline >lines &&
58 + test_line_count = 3 lines
59 '
60
61 test_expect_success 'non shallow clone with shallow submodule' '
62 test_when_finished "rm -rf super_clone" &&
63 git clone --recurse-submodules --no-local --shallow-submodules "file://$pwd/." super_clone &&
88 - (
89 - cd super_clone &&
90 - git log --oneline >lines &&
91 - test_line_count = 3 lines
92 - ) &&
93 - (
94 - cd super_clone/sub &&
95 - git log --oneline >lines &&
96 - test_line_count = 1 lines
97 - )
64 + git -C super_clone log --oneline >lines &&
65 + test_line_count = 3 lines &&
66 + git -C super_clone/sub log --oneline >lines &&
67 + test_line_count = 1 lines
68 '
69
70 test_done