From: Junio C Hamano Date: Tue, 13 Sep 2005 20:16:45 +0000 (-0700) Subject: Detect ls-remote failure properly. X-Git-Tag: v0.99.7~53 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=a5cd85e084458bf573d0d29fa79c4e1ad7973ed7;p=git-core%2Fgit.git Detect ls-remote failure properly. The part that can fail is before the pipe, so we need to propagate the error properly to the main process. Signed-off-by: Junio C Hamano --- diff --git a/git-ls-remote.sh b/git-ls-remote.sh index 604c5f5bb..bfbd5a4d5 100755 --- a/git-ls-remote.sh +++ b/git-ls-remote.sh @@ -42,12 +42,16 @@ http://* | https://* ) if [ -n "$GIT_SSL_NO_VERIFY" ]; then curl_extra_args="-k" fi - curl -nsf $curl_extra_args "$peek_repo/info/refs" || exit 1 + curl -nsf $curl_extra_args "$peek_repo/info/refs" || + echo "failed slurping" ;; rsync://* ) mkdir $tmpdir - rsync -rq "$peek_repo/refs" $tmpdir || exit 1 + rsync -rq "$peek_repo/refs" $tmpdir || { + echo "failed slurping" + exit + } (cd $tmpdir && find refs -type f) | while read path do @@ -58,12 +62,17 @@ rsync://* ) ;; * ) - git-peek-remote "$peek_repo" + git-peek-remote "$peek_repo" || + echo "failed slurping" ;; esac | sort -t ' ' -k 2 | while read sha1 path do + case "$sha1" in + failed) + die "Failed to find remote refs" + esac case "$path" in refs/heads/*) group=heads ;;