diff options
| author | Junio C Hamano <junkio@cox.net> | 2005-09-13 13:16:45 -0700 | 
|---|---|---|
| committer | Junio C Hamano <junkio@cox.net> | 2005-09-13 13:39:06 -0700 | 
| commit | a5cd85e084458bf573d0d29fa79c4e1ad7973ed7 (patch) | |
| tree | 8cbe0a0cd3f1d061f03f3738ccebdb8fad416819 | |
| parent | e4cf17ce0db2dab7c9525a732f86c5e3df3b4ed0 (diff) | |
| download | git-a5cd85e084458bf573d0d29fa79c4e1ad7973ed7.tar.gz | |
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 <junkio@cox.net>
| -rwxr-xr-x | git-ls-remote.sh | 15 | 
1 files changed, 12 insertions, 3 deletions
| diff --git a/git-ls-remote.sh b/git-ls-remote.sh index 604c5f5bbe..bfbd5a4d5a 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 ;; | 
