git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[RFC/PATCH 2/5] t5801 (remote-helpers): add test to fetch tags

From
Felipe Contreras <felipe.contreras@gmail.com>
Date
Jun 4, 2019, 02:13 UTC
Message-ID
<20190604021330.16130-3-felipe.contreras@gmail.com>
In-Reply-To
<20190604021330.16130-1-felipe.contreras@gmail.com>
This used to work, but commit e198b3a740 broke it.
  e198b3a740 (fetch: replace string-list used as a look-up table with a hashmap)

Probably all remote helpers that use the import method are affected, but we didn't catch the issue.

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
---
 t/t5801-remote-helpers.sh  | 10 ++++++++++
 t/t5801/git-remote-testgit | 17 ++++++++++++-----
 2 files changed, 22 insertions(+), 5 deletions(-)
diff --git a/t/t5801-remote-helpers.sh b/t/t5801-remote-helpers.sh
index 48bed7c2fe..238774bc17 100755
--- a/t/t5801-remote-helpers.sh
+++ b/t/t5801-remote-helpers.sh
@@ -303,4 +303,14 @@ test_expect_success 'fetch url' '
 	compare_refs server HEAD local FETCH_HEAD
 '
 
+test_expect_failure 'fetch tag' '
+	(cd server &&
+	 git tag v1.0
+	) &&
+	(cd local &&
+	 git fetch
+	) &&
+	compare_refs local v1.0 server v1.0
+'
+
 test_done
diff --git a/t/t5801/git-remote-testgit b/t/t5801/git-remote-testgit
index f2b551dfaf..6b9f0b5dc7 100755
--- a/t/t5801/git-remote-testgit
+++ b/t/t5801/git-remote-testgit
@@ -12,9 +12,14 @@ url=$2
 
 dir="$GIT_DIR/testgit/$alias"
 
-refspec="refs/heads/*:refs/testgit/$alias/heads/*"
+h_refspec="refs/heads/*:refs/testgit/$alias/heads/*"
+t_refspec="refs/tags/*:refs/testgit/$alias/tags/*"
 
-test -n "$GIT_REMOTE_TESTGIT_NOREFSPEC" && refspec=""
+if test -n "$GIT_REMOTE_TESTGIT_NOREFSPEC"
+then
+	h_refspec=""
+	t_refspec=""
+fi
 
 GIT_DIR="$url/.git"
 export GIT_DIR
@@ -37,7 +42,8 @@ do
 	capabilities)
 		echo 'import'
 		echo 'export'
-		test -n "$refspec" && echo "refspec $refspec"
+		test -n "$h_refspec" && echo "refspec $h_refspec"
+		test -n "$t_refspec" && echo "refspec $t_refspec"
 		if test -n "$gitmarks"
 		then
 			echo "*import-marks $gitmarks"
@@ -49,7 +55,7 @@ do
 		echo
 		;;
 	list)
-		git for-each-ref --format='? %(refname)' 'refs/heads/'
+		git for-each-ref --format='? %(refname)' 'refs/heads/' 'refs/tags/'
 		head=$(git symbolic-ref HEAD)
 		echo "@$head HEAD"
 		echo
@@ -78,7 +84,8 @@ do
 
 		echo "feature done"
 		git fast-export \
-			${refspec:+"--refspec=$refspec"} \
+			${h_refspec:+"--refspec=$h_refspec"} \
+			${t_refspec:+"--refspec=$t_refspec"} \
 			${testgitmarks:+"--import-marks=$testgitmarks"} \
 			${testgitmarks:+"--export-marks=$testgitmarks"} \
 			$refs
-- 
2.21.0
Previous: Jeff KingNext: Jeff King
Message 4 of 18 in “Fix fetch regression with transport helpers”
  1. 0/5 Fix fetch regression with transport helpersFelipe Contreras, Jun 4, 2019
  2. 1/5 t5801 (remote-helpers): cleanup refspec stuffFelipe Contreras, Jun 4, 2019
  3. Jeff KingJun 4, 2019
  4. 2/5 t5801 (remote-helpers): add test to fetch tagsFelipe Contreras, Jun 4, 2019
  5. Jeff KingJun 4, 2019
  6. 3/5 fetch: trivial cleanupFelipe Contreras, Jun 4, 2019
  7. 5/5 fetch: fix regression with transport helpersFelipe Contreras, Jun 4, 2019
  8. Jeff KingJun 4, 2019
  9. Junio C HamanoJun 4, 2019
  10. 4/5 fetch: make the code more understandableFelipe Contreras, Jun 4, 2019
  11. Jeff KingJun 4, 2019
  12. Felipe ContrerasJun 4, 2019
  13. Johannes SchindelinJun 5, 2019
  14. Jeff KingJun 5, 2019
  15. Duy NguyenJun 5, 2019
  16. Johannes SchindelinJun 6, 2019
  17. Junio C HamanoJun 6, 2019
  18. CI builds on GitGitGadget, was Re: [RFC/PATCH 0/5] Fix fetch regression with transport helpersJohannes Schindelin, Jun 7, 2019

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.