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

[PATCH 6/6] submodule update: test recursive path reporting from subdirectory

From
Stefan Beller <sbeller@google.com>
Date
Mar 29, 2016, 22:23 UTC
Message-ID
<1459290228-9069-7-git-send-email-sbeller@google.com>
In-Reply-To
<1459290228-9069-1-git-send-email-sbeller@google.com>

This patch is just a test and fixes no bug as there is currently no bug in the path handling of `submodule update`.

In `submodule update` we make a call to `submodule--helper list --prefix
"$wt_prefix"` which looks a bit brittle and likely to introduce a bug
for the path handling. It is not a bug as the prefix is ignored inside
the submodule helper for now. If this test breaks eventually, we want
to make sure the `wt_prefix` is passed correctly into recursive submodules.
Hint: In recursive submodules we expect `wt_prefix` to be empty.
Signed-off-by: Stefan Beller <sbeller@google.com>
---
 t/t7406-submodule-update.sh | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)
diff --git a/t/t7406-submodule-update.sh b/t/t7406-submodule-update.sh
index f062065..239d31f 100755
--- a/t/t7406-submodule-update.sh
+++ b/t/t7406-submodule-update.sh
@@ -379,6 +379,27 @@ test_expect_success 'submodule update - command in .git/config catches failure -
 	test_cmp actual expect
 '
 
+cat << EOF >expect
+Execution of 'false $submodulesha1' failed in submodule path '../super/submodule'
+Failed to recurse into submodule path '../super'
+EOF
+
+test_expect_success 'recursive submodule update - command in .git/config catches failure -- subdirectory' '
+	(cd recursivesuper &&
+	 git submodule update --remote super &&
+	 git add super &&
+	 git commit -m "update to latest to have more than one commit in submodules"
+	) &&
+	git -C recursivesuper/super config submodule.submodule.update "!false" &&
+	git -C recursivesuper/super/submodule reset --hard $submodulesha1^ &&
+	(cd recursivesuper &&
+	 mkdir -p tmp && cd tmp &&
+	 test_pause &&
+	 test_must_fail git submodule update --recursive ../super 2>../../actual
+	) &&
+	test_cmp actual expect
+'
+
 test_expect_success 'submodule init does not copy command into .git/config' '
 	(cd super &&
 	 H=$(git ls-files -s submodule | cut -d" " -f2) &&
-- 
2.8.0.4.g5639dee.dirty
Previous: Stefan BellerNext: Stefan Beller
Message 7 of 8 in “[PATCHv2 0/6] Fix path bugs in submodule commands executed from sub dir”
  1. Stefan BellerMar 29, 2016
  2. 1/6 submodule foreach: correct path display in recursive submodulesStefan Beller, Mar 29, 2016
  3. 2/6 submodule update --init: correct path handling in recursive submodulesStefan Beller, Mar 29, 2016
  4. 3/6 submodule status: correct path handling in recursive submodulesStefan Beller, Mar 29, 2016
  5. 4/6 t7407: make expectation as clear as possibleStefan Beller, Mar 29, 2016
  6. 5/6 submodule update: align reporting path for custom command executionStefan Beller, Mar 29, 2016
  7. 6/6 submodule update: test recursive path reporting from subdirectoryStefan Beller, Mar 29, 2016
  8. Stefan BellerMar 29, 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.