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:
parent
4769489a41
commit
28b8e61fc6
13
git-fetch.sh
13
git-fetch.sh
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user