aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff King <peff@peff.net>2007-12-17 07:43:59 -0500
committerJunio C Hamano <gitster@pobox.com>2007-12-17 15:54:28 -0800
commit6851162adf29762cd121555645214468451a3111 (patch)
tree20d5fe7a5c710c7cbe26e09490bce68cccad9f19
parent6281f394674bf2db861967da6c2215cfc3fc78af (diff)
downloadgit-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-xgit-clone.sh11
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 () {