[PATCH] t5614: don't use subshells
- From
Stefan Beller <sbeller@google.com>
- Date
- Jun 20, 2016, 17:21 UTC
- Message-ID
- <1466443278-21591-1-git-send-email-sbeller@google.com>
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> ---
Junio,
This goes on top of the patch that I just sent "[PATCH] shallow clone to not imply shallow submodules" (which is to be squashed into "clone: do not let --depth imply --shallow-submodules". Unlike the prior patch we would not want this patch to fall through to origin/maint fast, but allow cooking? Thanks, Stefan
t/t5614-clone-submodules.sh | 70 +++++++++++++-------------------------------- 1 file changed, 20 insertions(+), 50 deletions(-)
diff --git a/t/t5614-clone-submodules.sh b/t/t5614-clone-submodules.sh index a9aaa01..da2a67f 100755 --- a/t/t5614-clone-submodules.sh +++ b/t/t5614-clone-submodules.sh @@ -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
-- 2.7.0.rc0.40.g5328432.dirty