Browse Source

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>
maint
Felipe Contreras 6 years ago committed by Junio C Hamano
parent
commit
8144f09ccd
  1. 17
      git-remote-testgit.sh
  2. 10
      t/t5801-remote-helpers.sh

17
git-remote-testgit.sh

@ -12,9 +12,14 @@ url=$2 @@ -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 @@ -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 @@ -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 @@ -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

10
t/t5801-remote-helpers.sh

@ -301,4 +301,14 @@ test_expect_success 'fetch url' ' @@ -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

Loading…
Cancel
Save