t5801 (remote-helpers): add test to fetch tags

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>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Felipe Contreras 2019-06-03 21:13:27 -05:00 коммит произвёл Junio C Hamano
Родитель 6e17fb3409
Коммит 8144f09ccd
2 изменённых файлов: 22 добавлений и 5 удалений

Просмотреть файл

@ -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

Просмотреть файл

@ -301,4 +301,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