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>
This commit is contained in:
Stefan Beller 2016-06-20 10:21:18 -07:00 committed by Junio C Hamano
parent 18a74a092b
commit 5819c2eeff

View File

@ -25,76 +25,46 @@ test_expect_success 'setup' '
test_expect_success 'nonshallow clone implies nonshallow submodule' ' test_expect_success 'nonshallow clone implies nonshallow submodule' '
test_when_finished "rm -rf super_clone" && test_when_finished "rm -rf super_clone" &&
git clone --recurse-submodules "file://$pwd/." super_clone && git clone --recurse-submodules "file://$pwd/." super_clone &&
( git -C super_clone log --oneline >lines &&
cd super_clone && test_line_count = 3 lines &&
git log --oneline >lines && git -C super_clone/sub log --oneline >lines &&
test_line_count = 3 lines test_line_count = 3 lines
) &&
(
cd super_clone/sub &&
git log --oneline >lines &&
test_line_count = 3 lines
)
' '
test_expect_success 'shallow clone with shallow submodule' ' test_expect_success 'shallow clone with shallow submodule' '
test_when_finished "rm -rf super_clone" && test_when_finished "rm -rf super_clone" &&
git clone --recurse-submodules --depth 2 --shallow-submodules "file://$pwd/." super_clone && git clone --recurse-submodules --depth 2 --shallow-submodules "file://$pwd/." super_clone &&
( git -C super_clone log --oneline >lines &&
cd super_clone && test_line_count = 2 lines &&
git log --oneline >lines && git -C super_clone/sub log --oneline >lines &&
test_line_count = 2 lines test_line_count = 1 lines
) &&
(
cd super_clone/sub &&
git log --oneline >lines &&
test_line_count = 1 lines
)
' '
test_expect_success 'shallow clone does not imply shallow submodule' ' test_expect_success 'shallow clone does not imply shallow submodule' '
test_when_finished "rm -rf super_clone" && test_when_finished "rm -rf super_clone" &&
git clone --recurse-submodules --depth 2 "file://$pwd/." super_clone && git clone --recurse-submodules --depth 2 "file://$pwd/." super_clone &&
( git -C super_clone log --oneline >lines &&
cd super_clone && test_line_count = 2 lines &&
git log --oneline >lines && git -C super_clone/sub log --oneline >lines &&
test_line_count = 2 lines test_line_count = 3 lines
) &&
(
cd super_clone/sub &&
git log --oneline >lines &&
test_line_count = 3 lines
)
' '
test_expect_success 'shallow clone with non shallow submodule' ' test_expect_success 'shallow clone with non shallow submodule' '
test_when_finished "rm -rf super_clone" && test_when_finished "rm -rf super_clone" &&
git clone --recurse-submodules --depth 2 --no-shallow-submodules "file://$pwd/." super_clone && git clone --recurse-submodules --depth 2 --no-shallow-submodules "file://$pwd/." super_clone &&
( git -C super_clone log --oneline >lines &&
cd super_clone && test_line_count = 2 lines &&
git log --oneline >lines && git -C super_clone/sub log --oneline >lines &&
test_line_count = 2 lines test_line_count = 3 lines
) &&
(
cd super_clone/sub &&
git log --oneline >lines &&
test_line_count = 3 lines
)
' '
test_expect_success 'non shallow clone with shallow submodule' ' test_expect_success 'non shallow clone with shallow submodule' '
test_when_finished "rm -rf super_clone" && test_when_finished "rm -rf super_clone" &&
git clone --recurse-submodules --no-local --shallow-submodules "file://$pwd/." super_clone && git clone --recurse-submodules --no-local --shallow-submodules "file://$pwd/." super_clone &&
( git -C super_clone log --oneline >lines &&
cd super_clone && test_line_count = 3 lines &&
git log --oneline >lines && git -C super_clone/sub log --oneline >lines &&
test_line_count = 3 lines test_line_count = 1 lines
) &&
(
cd super_clone/sub &&
git log --oneline >lines &&
test_line_count = 1 lines
)
' '
test_done test_done