1
0
mirror of https://github.com/git/git.git synced 2024-11-18 06:24:14 +01:00

git-fetch: reuse ls-remote result.

This will become necessary to update the dumb protocol
transports to fetch from a repository with packed and then
pruned tags.

Signed-off-by: Junio C Hamano <junkio@cox.net>
This commit is contained in:
Junio C Hamano 2006-11-22 21:57:14 -08:00
parent 4769489a41
commit 28b8e61fc6

@ -88,6 +88,10 @@ then
: >"$GIT_DIR/FETCH_HEAD"
fi
# Global that is reused later
ls_remote_result=$(git ls-remote $upload_pack "$remote") ||
die "Cannot find the reflist at $remote"
append_fetch_head () {
head_="$1"
remote_="$2"
@ -233,10 +237,7 @@ reflist=$(get_remote_refs_for_fetch "$@")
if test "$tags"
then
taglist=`IFS=" " &&
(
git-ls-remote $upload_pack --tags "$remote" ||
echo fail ouch
) |
echo "$ls_remote_result" |
while read sha1 name
do
case "$sha1" in
@ -245,6 +246,8 @@ then
esac
case "$name" in
*^*) continue ;;
refs/tags/*) ;;
*) continue ;;
esac
if git-check-ref-format "$name"
then
@ -431,7 +434,7 @@ case "$no_tags$tags" in
# effective only when we are following remote branch
# using local tracking branch.
taglist=$(IFS=" " &&
git-ls-remote $upload_pack --tags "$remote" |
echo "$ls_remote_result" |
sed -n -e 's|^\('"$_x40"'\) \(refs/tags/.*\)^{}$|\1 \2|p' \
-e 's|^\('"$_x40"'\) \(refs/tags/.*\)$|\1 \2|p' |
while read sha1 name