DORMANTno replies

[PATCH] git-submodule - Fix errors regarding resolve_relative_url

From: Mark Levedahl <hidden>
Date: 2016-06-15 22:44:45
Subsystem: the rest · Maintainer: Linus Torvalds

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 <redacted>
---
 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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help