git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH v3 1/3] submodule: add test to demonstrate that shallow recursive clones fail

From
larsxschneider@gmail.com <larsxschneider@gmail.com>
Date
Dec 20, 2015, 23:19 UTC
Message-ID
<1450653595-22676-2-git-send-email-larsxschneider@gmail.com>
In-Reply-To
<1450653595-22676-1-git-send-email-larsxschneider@gmail.com>
From: Lars Schneider <larsxschneider@gmail.com>

"git clone --recursive --depth 1 --single-branch <url>" clones the submodules successfully. However, it does not obey "--depth 1" for submodule cloning.

Signed-off-by: Lars Schneider <larsxschneider@gmail.com>
---
 t/t7412-submodule-recursive.sh | 52 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 52 insertions(+)
 create mode 100755 t/t7412-submodule-recursive.sh
diff --git a/t/t7412-submodule-recursive.sh b/t/t7412-submodule-recursive.sh
new file mode 100755
index 0000000..58b3eb9
--- /dev/null
+++ b/t/t7412-submodule-recursive.sh
@@ -0,0 +1,52 @@
+#!/bin/sh
+
+test_description='Test shallow cloning of repos with submodules'
+
+. ./test-lib.sh
+
+test_expect_success setup '
+	git checkout -b master &&
+	echo file >file &&
+	git add file &&
+	test_tick &&
+	git commit -m "master commit 1" &&
+
+	git checkout -b branch &&
+	echo file >branch-file &&
+	git add branch-file &&
+	test_tick &&
+	git commit -m "branch commit 1" &&
+
+	git checkout master &&
+	git clone . repo &&
+	(
+		cd repo &&
+		git checkout master &&
+		git submodule add ../. submodule &&
+		(
+			cd submodule &&
+			git checkout branch
+		) &&
+		git add submodule &&
+		test_tick &&
+		git commit -m "master commit 2"
+	)
+'
+
+test_expect_failure shallow-clone-recursive '
+	URL="file://$(pwd | sed "s/[[:space:]]/%20/g")/repo" &&
+	echo $URL &&
+	git clone --recursive --depth 1 --single-branch $URL clone-recursive &&
+	(
+		cd "clone-recursive" &&
+		git log --oneline >lines &&
+		test_line_count = 1 lines
+	) &&
+	(
+		cd "clone-recursive/submodule" &&
+		git log --oneline >lines &&
+		test_line_count = 1 lines
+	)
+'
+
+test_done
-- 
2.5.1
Previous: larsxschneider@gmail.comNext: Stefan Beller
Message 2 of 14 in “add test to demonstrate that shallow recursive clones fail”
  1. 0/3 add test to demonstrate that shallow recursive clones faillarsxschneider@gmail.com, Dec 20, 2015
  2. 1/3 submodule: add test to demonstrate that shallow recursive clones faillarsxschneider@gmail.com, Dec 20, 2015
  3. Stefan BellerMar 15, 2016
  4. Junio C HamanoMar 15, 2016
  5. Lars SchneiderMar 20, 2016
  6. Jeff KingMar 20, 2016
  7. Stefan BellerMar 20, 2016
  8. 2/3 submodule: fix &&-chain breakagelarsxschneider@gmail.com, Dec 20, 2015
  9. 3/3 submodule: extend die message on failed checkout with depth argumentlarsxschneider@gmail.com, Dec 20, 2015
  10. Stefan BellerJan 11, 2016
  11. Lars SchneiderJan 12, 2016
  12. Stefan BellerJan 12, 2016
  13. Lars SchneiderJan 7, 2016
  14. Stefan BellerJan 11, 2016

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.