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

[PATCH] git-submodule - Fix errors regarding resolve_relative_url

From
Mark Levedahl <mlevedahl@gmail.com>
Date
Jun 14, 2008, 17:09 UTC
Message-ID
<1213463381-3316-1-git-send-email-mlevedahl@gmail.com>

git-submodule was invoking "die" from within resolve-relative-url, but this does not actually cause the script to exit. Fix this by returning the error to the caller and have the caller exit.

While we're at it, clean up the quoting on invocation of resolve_relative_url as it was wrong.

Signed-off-by: Mark Levedahl <mlevedahl@gmail.com>
---
 git-submodule.sh |   11 +++++++----
 1 files changed, 7 insertions(+), 4 deletions(-)
diff --git a/git-submodule.sh b/git-submodule.sh
index 4bd2b8e..7cb4edf 100755
--- a/git-submodule.sh
+++ b/git-submodule.sh
@@ -45,8 +45,10 @@ resolve_relative_url ()
 	branch="$(git symbolic-ref HEAD 2>/dev/null)"
 	remote="$(git config branch.${branch#refs/heads/}.remote)"
 	remote="${remote:-origin}"
-	remoteurl="$(git config remote.$remote.url)" ||
-		die "remote ($remote) does not have a url in .git/config"
+	remoteurl=$(git config remote.$remote.url) || {
+		echo >&2 "remote ($remote) does not have a url defined in .git/config"
+		return 1
+	}
 	url="$1"
 	while test -n "$url"
 	do
@@ -178,7 +180,8 @@ cmd_add()
 		case "$repo" in
 		./*|../*)
 			# dereference source url relative to parent's url
-			realrepo="$(resolve_relative_url $repo)" ;;
+			realrepo=$(resolve_relative_url "$repo") || exit 1
+			;;
 		*)
 			# Turn the source into an absolute path if
 			# it is local
@@ -246,7 +249,7 @@ cmd_init()
 		# Possibly a url relative to parent
 		case "$url" in
 		./*|../*)
-			url="$(resolve_relative_url "$url")"
+			url=$(resolve_relative_url "$url") || exit 1
 			;;
 		esac
 
-- 
1.5.6.rc2.67.g19fe3
Next: Junio C Hamano
Message 1 of 3 in “git-submodule - Fix errors regarding resolve_relative_url”
  1. git-submodule - Fix errors regarding resolve_relative_urlMark Levedahl, Jun 14, 2008
  2. Junio C HamanoJun 14, 2008
  3. git-submodule - Fix errors regarding resolve_relative_urlMark Levedahl, Jun 14, 2008

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.