[PATCH] git-clone: improve error message if curl program is missing or not executable

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



If the curl program is not available (or not executable), 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 checking the return code when
running curl to exit immediately if it's 126 or 127; the error output now
is

 Initialized empty Git repository in /tmp/puppet/.git/
 /usr/bin/git-clone: line 37: curl: command not found

Adrian Bridgett noticed this and reported through
 http://bugs.debian.org/440976

Signed-off-by: Gerrit Pape <pape@xxxxxxxxxxx>
---

On Fri, Sep 07, 2007 at 02:19:32PM -0700, Junio C Hamano wrote:
> 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.

The hint that 'Perhaps git-update-server-info needs to be run there'
might make sense, so I made it only exit if the return code is 126 or
127.

 git-clone.sh |    6 +++++-
 1 files changed, 5 insertions(+), 1 deletions(-)

diff --git a/git-clone.sh b/git-clone.sh
index 18003ab..5e582fe 100755
--- a/git-clone.sh
+++ b/git-clone.sh
@@ -34,7 +34,11 @@ fi
 
 http_fetch () {
 	# $1 = Remote, $2 = Local
-	curl -nsfL $curl_extra_args "$1" >"$2"
+	curl -nsfL $curl_extra_args "$1" >"$2" ||
+		case $? in
+		126|127) exit ;;
+		*)	 return $? ;;
+		esac
 }
 
 clone_dumb_http () {
-- 
1.5.3.1

-
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux