Skip to content

Commit

Permalink
Detect ls-remote failure properly.
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Junio C Hamano committed Sep 13, 2005
1 parent e4cf17c commit a5cd85e
Showing 1 changed file with 12 additions and 3 deletions.
15 changes: 12 additions & 3 deletions git-ls-remote.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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 ;;
Expand Down

0 comments on commit a5cd85e

Please sign in to comment.