diff options
author | Jeff King <peff@peff.net> | 2007-12-17 07:43:59 -0500 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2007-12-17 15:54:28 -0800 |
commit | 6851162adf29762cd121555645214468451a3111 (patch) | |
tree | 20d5fe7a5c710c7cbe26e09490bce68cccad9f19 | |
parent | 6281f394674bf2db861967da6c2215cfc3fc78af (diff) | |
download | git-6851162adf29762cd121555645214468451a3111.tar.gz git-6851162adf29762cd121555645214468451a3111.tar.xz |
clone: correctly report http_fetch errors
The exit status from curl was accidentally lost by the
'case' statement. We need to explicitly save it so that $?
doesn't get overwritten.
This improves the error message when fetching from an http
repository which has never had update-server-info run.
Previously, it would fail to note the fetch error and
produce multiple errors about the lack of origin branches.
It now correctly suggests running git-update-server-info.
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rwxr-xr-x | git-clone.sh | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/git-clone.sh b/git-clone.sh index 0ea3c24f5..036a37e85 100755 --- a/git-clone.sh +++ b/git-clone.sh @@ -35,11 +35,12 @@ fi http_fetch () { # $1 = Remote, $2 = Local - curl -nsfL $curl_extra_args "$1" >"$2" || - case $? in - 126|127) exit ;; - *) return $? ;; - esac + curl -nsfL $curl_extra_args "$1" >"$2" + curl_exit_status=$? + case $curl_exit_status in + 126|127) exit ;; + *) return $curl_exit_status ;; + esac } clone_dumb_http () { |