From: Junio C Hamano <junkio@cox.net>
Date: Sun, 19 Nov 2006 05:39:17 +0000 (-0800)
Subject: git-fetch: follow lightweit tags as well.
X-Git-Tag: v1.4.4.1~7
X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=6c96c0f1940b0247530d21b10042d16bf1e7b769;p=git.git

git-fetch: follow lightweit tags as well.

This side-ports commit fd19f620 from Cogito, in which I fixed
exactly the same bug.  Somehow nobody noticed this for a long
time in git.

Signed-off-by: Junio C Hamano <junkio@cox.net>
---

diff --git a/git-fetch.sh b/git-fetch.sh
index 7442dd2ca..eb32476bb 100755
--- a/git-fetch.sh
+++ b/git-fetch.sh
@@ -432,10 +432,11 @@ case "$no_tags$tags" in
 		# using local tracking branch.
 		taglist=$(IFS=" " &&
 		git-ls-remote $upload_pack --tags "$remote" |
-		sed -ne 's|^\([0-9a-f]*\)[ 	]\(refs/tags/.*\)^{}$|\1 \2|p' |
+		sed -n	-e 's|^\('"$_x40"'\)	\(refs/tags/.*\)^{}$|\1 \2|p' \
+			-e 's|^\('"$_x40"'\)	\(refs/tags/.*\)$|\1 \2|p' |
 		while read sha1 name
 		do
-			git-show-ref --verify --quiet -- $name && continue
+			git-show-ref --verify --quiet -- "$name" && continue
 			git-check-ref-format "$name" || {
 				echo >&2 "warning: tag ${name} ignored"
 				continue
diff --git a/t/t5510-fetch.sh b/t/t5510-fetch.sh
index df0ae4811..a11ab0ad4 100755
--- a/t/t5510-fetch.sh
+++ b/t/t5510-fetch.sh
@@ -66,4 +66,20 @@ test_expect_success "fetch test for-merge" '
 	cut -f -2 .git/FETCH_HEAD >actual &&
 	diff expected actual'
 
+test_expect_success 'fetch following tags' '
+
+	cd "$D" &&
+	git tag -a -m 'annotated' anno HEAD &&
+	git tag light HEAD &&
+
+	mkdir four &&
+	cd four &&
+	git init-db &&
+
+	git fetch .. :track &&
+	git show-ref --verify refs/tags/anno &&
+	git show-ref --verify refs/tags/light
+
+'
+
 test_done