[PATCH] t5614: don't use subshells

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxx>
Signed-off-by: Stefan Beller <sbeller@xxxxxxxxxx>
---

 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

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]