threads / patch / 9822

patchgit-clone: better error message if curl program is missing

Subject: [PATCH] git-clone: better error message if curl program is missing

## tl;dr

2 messages between Sep 7, 2007 and Sep 7, 2007. Diffs are folded; open one to read it.

replies: 1people: 2as markdown or json

Gerrit Pape· Sep 7, 2007, 17:13 UTC · lore

If the curl program is not available, and git clone is started to clone a repository through http, this is the output

 Initialized empty Git repository in /tmp/puppet/.git/
 /usr/bin/git-clone: line 37: curl: command not found
 Cannot get remote repository information.
 Perhaps git-update-server-info needs to be run there?

This patch improves the error message by testing for availability of the curl program before running it, the error output now is

 Initialized empty Git repository in /tmp/puppet/.git/
 The curl program is not available
Adrian Bridgett noticed this and reported through
 http://bugs.debian.org/440976
Signed-off-by: Gerrit Pape <pape@smarden.org>
---
 git-clone.sh |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)
Show changes to git-clone.sh +2 −0
diff --git a/git-clone.sh b/git-clone.sh
index 18003ab..834371d 100755
--- a/git-clone.sh
+++ b/git-clone.sh
@@ -34,6 +34,8 @@ fi
 
 http_fetch () {
 	# $1 = Remote, $2 = Local
+	type curl >/dev/null 2>&1 ||
+	    die "The curl program is not available"
 	curl -nsfL $curl_extra_args "$1" >"$2"
 }
 
-- 
1.5.3.1
Junio C Hamano· Sep 7, 2007, 21:19 UTC · re: Gerrit Pape · lore

Re: [PATCH] git-clone: better error message if curl program is missing

Gerrit Pape <pape@smarden.org> writes:
Show 5 quoted lines
> If the curl program is not available, and git clone is started to clone a
> repository through http, this is the output
>
>  Initialized empty Git repository in /tmp/puppet/.git/
>  /usr/bin/git-clone: line 37: curl: command not found
Perhaps we should die at this point so that...
>  Cannot get remote repository information.
>  Perhaps git-update-server-info needs to be run there?
the user does not have to see this.
In other words, instead of this:
Show 6 quoted lines
>  http_fetch () {
>  	# $1 = Remote, $2 = Local
> +	type curl >/dev/null 2>&1 ||
> +	    die "The curl program is not available"
>  	curl -nsfL $curl_extra_args "$1" >"$2"
>  }
something like this, perhaps:
	http_fetch () {
        	# $1 = remote, $2 = local
               	curl -nsfL $curl_extra_args "$1" >"$2" || exit
	}

Then the shell would say "curl: command not found" and we would stop.

I am just hestating to use "type" there (yeah, I know mergetool has one but that one is not as close to the core of the workflow as git-fetch is).

BTW, isn't it a packaging bug not to depend git-fetch on curl?

← back to recent threads