fetch/clone: check return status from ls-remote

Some callers of ls-remote did not check its return status.
This commit is contained in:
Junio C Hamano 2006-07-10 03:34:34 -07:00
parent 4b7ce6e2d6
commit 57a39690b9
2 changed files with 11 additions and 4 deletions

View File

@ -266,7 +266,7 @@ yes,yes)
echo "$repo/objects" >> "$GIT_DIR/objects/info/alternates"
;;
esac
git-ls-remote "$repo" >"$GIT_DIR/CLONE_HEAD"
git-ls-remote "$repo" >"$GIT_DIR/CLONE_HEAD" || exit 1
;;
*)
case "$repo" in
@ -296,7 +296,7 @@ yes,yes)
done
rm -f "$GIT_DIR/TMP_ALT"
fi
git-ls-remote "$repo" >"$GIT_DIR/CLONE_HEAD"
git-ls-remote "$repo" >"$GIT_DIR/CLONE_HEAD" || exit 1
;;
http://*)
if test -z "@@NO_CURL@@"

View File

@ -223,9 +223,16 @@ reflist=$(get_remote_refs_for_fetch "$@")
if test "$tags"
then
taglist=`IFS=" " &&
git-ls-remote $upload_pack --tags "$remote" |
(
git-ls-remote $upload_pack --tags "$remote" ||
echo fail ouch
) |
while read sha1 name
do
case "$sha1" in
fail)
exit 1
esac
case "$name" in
*^*) continue ;;
esac
@ -235,7 +242,7 @@ then
else
echo >&2 "warning: tag ${name} ignored"
fi
done`
done` || exit
if test "$#" -gt 1
then
# remote URL plus explicit refspecs; we need to merge them.