]> git.ipfire.org Git - thirdparty/git.git/blame - t/t5503-tagfollow.sh
l10n: Update Swedish translation (1979t0f0u)
[thirdparty/git.git] / t / t5503-tagfollow.sh
CommitLineData
cf7f929a
SP
1#!/bin/sh
2
3test_description='test automatic tag following'
4
5. ./test-lib.sh
6
c72781d6 7if ! test_have_prereq NOT_MINGW; then
49f32489 8 say "GIT_DEBUG_SEND_PACK not supported - skipping tests"
3ba9ba8f 9fi
8b02c64a 10
cf7f929a
SP
11# End state of the repository:
12#
13# T - tag1 S - tag2
14# / /
15# L - A ------ O ------ B
16# \ \ \
17# \ C - origin/cat \
18# origin/master master
19
49f32489 20test_expect_success NOT_MINGW setup '
cf7f929a
SP
21 test_tick &&
22 echo ichi >file &&
23 git add file &&
24 git commit -m L &&
25 L=$(git rev-parse --verify HEAD) &&
26
27 (
28 mkdir cloned &&
29 cd cloned &&
30 git init-db &&
31 git remote add -f origin ..
32 ) &&
33
34 test_tick &&
35 echo A >file &&
36 git add file &&
37 git commit -m A &&
38 A=$(git rev-parse --verify HEAD)
39'
40
41U=UPLOAD_LOG
42
49f32489 43test_expect_success NOT_MINGW 'setup expect' '
cf7f929a
SP
44cat - <<EOF >expect
45#S
46want $A
47#E
48EOF
49f32489
ÆAB
49'
50
51test_expect_success NOT_MINGW 'fetch A (new commit : 1 connection)' '
2dec68cf 52 rm -f $U &&
cf7f929a
SP
53 (
54 cd cloned &&
55 GIT_DEBUG_SEND_PACK=3 git fetch 3>../$U &&
56 test $A = $(git rev-parse --verify origin/master)
57 ) &&
58 test -s $U &&
59 cut -d" " -f1,2 $U >actual &&
3af82863 60 test_cmp expect actual
cf7f929a
SP
61'
62
49f32489 63test_expect_success NOT_MINGW "create tag T on A, create C on branch cat" '
cf7f929a
SP
64 git tag -a -m tag1 tag1 $A &&
65 T=$(git rev-parse --verify tag1) &&
66
67 git checkout -b cat &&
68 echo C >file &&
69 git add file &&
70 git commit -m C &&
71 C=$(git rev-parse --verify HEAD) &&
72 git checkout master
73'
74
49f32489 75test_expect_success NOT_MINGW 'setup expect' '
cf7f929a
SP
76cat - <<EOF >expect
77#S
78want $C
79want $T
80#E
81EOF
49f32489
ÆAB
82'
83
84test_expect_success NOT_MINGW 'fetch C, T (new branch, tag : 1 connection)' '
2dec68cf 85 rm -f $U &&
cf7f929a
SP
86 (
87 cd cloned &&
88 GIT_DEBUG_SEND_PACK=3 git fetch 3>../$U &&
89 test $C = $(git rev-parse --verify origin/cat) &&
90 test $T = $(git rev-parse --verify tag1) &&
91 test $A = $(git rev-parse --verify tag1^0)
92 ) &&
93 test -s $U &&
94 cut -d" " -f1,2 $U >actual &&
3af82863 95 test_cmp expect actual
cf7f929a
SP
96'
97
49f32489 98test_expect_success NOT_MINGW "create commits O, B, tag S on B" '
cf7f929a
SP
99 test_tick &&
100 echo O >file &&
101 git add file &&
102 git commit -m O &&
103
104 test_tick &&
105 echo B >file &&
106 git add file &&
107 git commit -m B &&
108 B=$(git rev-parse --verify HEAD) &&
109
110 git tag -a -m tag2 tag2 $B &&
111 S=$(git rev-parse --verify tag2)
112'
113
49f32489 114test_expect_success NOT_MINGW 'setup expect' '
cf7f929a
SP
115cat - <<EOF >expect
116#S
117want $B
118want $S
119#E
120EOF
49f32489
ÆAB
121'
122
123test_expect_success NOT_MINGW 'fetch B, S (commit and tag : 1 connection)' '
2dec68cf 124 rm -f $U &&
cf7f929a
SP
125 (
126 cd cloned &&
127 GIT_DEBUG_SEND_PACK=3 git fetch 3>../$U &&
128 test $B = $(git rev-parse --verify origin/master) &&
129 test $B = $(git rev-parse --verify tag2^0) &&
130 test $S = $(git rev-parse --verify tag2)
131 ) &&
132 test -s $U &&
133 cut -d" " -f1,2 $U >actual &&
3af82863 134 test_cmp expect actual
cf7f929a
SP
135'
136
49f32489 137test_expect_success NOT_MINGW 'setup expect' '
41fa7d2e
SP
138cat - <<EOF >expect
139#S
140want $B
141want $S
142#E
143EOF
49f32489
ÆAB
144'
145
146test_expect_success NOT_MINGW 'new clone fetch master and tags' '
41fa7d2e
SP
147 git branch -D cat
148 rm -f $U
149 (
150 mkdir clone2 &&
151 cd clone2 &&
152 git init &&
153 git remote add origin .. &&
154 GIT_DEBUG_SEND_PACK=3 git fetch 3>../$U &&
155 test $B = $(git rev-parse --verify origin/master) &&
156 test $S = $(git rev-parse --verify tag2) &&
157 test $B = $(git rev-parse --verify tag2^0) &&
158 test $T = $(git rev-parse --verify tag1) &&
159 test $A = $(git rev-parse --verify tag1^0)
160 ) &&
161 test -s $U &&
162 cut -d" " -f1,2 $U >actual &&
3af82863 163 test_cmp expect actual
41fa7d2e
SP
164'
165
cf7f929a 166test_done