remote: make match_refs() not short-circuit
[gitweb.git] / t / t5503-tagfollow.sh
index 45ff982ec422a26af2a390833028d30891f180ca..4074e23ffa2c7a93fdbd4a367e273118224b9038 100755 (executable)
@@ -50,7 +50,7 @@ test_expect_success 'fetch A (new commit : 1 connection)' '
        ) &&
        test -s $U &&
        cut -d" " -f1,2 $U >actual &&
-       git diff expect actual
+       test_cmp expect actual
 '
 
 test_expect_success "create tag T on A, create C on branch cat" '
@@ -82,7 +82,7 @@ test_expect_success 'fetch C, T (new branch, tag : 1 connection)' '
        ) &&
        test -s $U &&
        cut -d" " -f1,2 $U >actual &&
-       git diff expect actual
+       test_cmp expect actual
 '
 
 test_expect_success "create commits O, B, tag S on B" '
@@ -118,7 +118,33 @@ test_expect_success 'fetch B, S (commit and tag : 1 connection)' '
        ) &&
        test -s $U &&
        cut -d" " -f1,2 $U >actual &&
-       git diff expect actual
+       test_cmp expect actual
+'
+
+cat - <<EOF >expect
+#S
+want $B
+want $S
+#E
+EOF
+test_expect_success 'new clone fetch master and tags' '
+       git branch -D cat
+       rm -f $U
+       (
+               mkdir clone2 &&
+               cd clone2 &&
+               git init &&
+               git remote add origin .. &&
+               GIT_DEBUG_SEND_PACK=3 git fetch 3>../$U &&
+               test $B = $(git rev-parse --verify origin/master) &&
+               test $S = $(git rev-parse --verify tag2) &&
+               test $B = $(git rev-parse --verify tag2^0) &&
+               test $T = $(git rev-parse --verify tag1) &&
+               test $A = $(git rev-parse --verify tag1^0)
+       ) &&
+       test -s $U &&
+       cut -d" " -f1,2 $U >actual &&
+       test_cmp expect actual
 '
 
 test_done