From: Junio C Hamano Date: Tue, 13 Sep 2005 05:20:02 +0000 (-0700) Subject: Propagate errors from fetch-pack correctly to git-fetch. X-Git-Tag: v0.99.7~56 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=22c67ca88ec65c4f278e8c82b2d98f3bd025238b;p=git.git Propagate errors from fetch-pack correctly to git-fetch. When git-fetch-pack fails, the command does not notice the failure and instead pretended nothing was fetched and there was nothing wrong. Signed-off-by: Junio C Hamano --- diff --git a/git-fetch.sh b/git-fetch.sh index 673a18417..227394403 100755 --- a/git-fetch.sh +++ b/git-fetch.sh @@ -205,9 +205,16 @@ case "$remote" in http://* | https://* | rsync://* ) ;; # we are already done. *) - git-fetch-pack "$remote" $rref | + ( + git-fetch-pack "$remote" $rref || echo failed "$remote" + ) | while read sha1 remote_name do + case "$sha1" in + failed) + echo >&2 "Fetch failure: $remote" + exit 1 ;; + esac found= single_force= for ref in $refs @@ -225,7 +232,7 @@ http://* | https://* | rsync://* ) local_name=$(expr "$found" : '[^:]*:\(.*\)') append_fetch_head "$sha1" "$remote" "$remote_name" "$remote_nick" "$local_name" - done + done || exit ;; esac