Browse Source

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 <junkio@cox.net>
maint
Junio C Hamano 20 years ago
parent
commit
22c67ca88e
  1. 11
      git-fetch.sh

11
git-fetch.sh

@ -205,9 +205,16 @@ case "$remote" in @@ -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://* ) @@ -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


Loading…
Cancel
Save