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