4
5
. ./test-lib.sh
6
7
-if ! test_have_prereq NOT_MINGW; then
8
- say "GIT_TRACE_PACKET not supported - skipping tests"
9
-fi
10
-
7
# End state of the repository:
8
#
9
# T - tag1 S - tag2
13
# \ C - origin/cat \
14
# origin/master master
15
20
-test_expect_success NOT_MINGW setup '
16
+test_expect_success setup '
17
test_tick &&
18
echo ichi >file &&
19
git add file &&
35
'
36
37
U=UPLOAD_LOG
38
+UPATH="$(pwd)/$U"
39
43
-test_expect_success NOT_MINGW 'setup expect' '
40
+test_expect_success 'setup expect' '
41
cat - <<EOF >expect
42
want $A
43
EOF
44
'
45
46
get_needs () {
47
+ test -s "$1" &&
48
perl -alne '
49
next unless $F[1] eq "upload-pack<";
50
last if $F[2] eq "0000";
51
print $F[2], " ", $F[3];
54
- ' "$@"
52
+ ' "$1"
53
}
54
57
-test_expect_success NOT_MINGW 'fetch A (new commit : 1 connection)' '
55
+test_expect_success 'fetch A (new commit : 1 connection)' '
56
rm -f $U &&
57
(
58
cd cloned &&
61
- GIT_TRACE_PACKET=3 git fetch 3>../$U &&
59
+ GIT_TRACE_PACKET=$UPATH git fetch &&
60
test $A = $(git rev-parse --verify origin/master)
61
) &&
62
get_needs $U >actual &&
63
test_cmp expect actual
64
'
65
68
-test_expect_success NOT_MINGW "create tag T on A, create C on branch cat" '
66
+test_expect_success "create tag T on A, create C on branch cat" '
67
git tag -a -m tag1 tag1 $A &&
68
T=$(git rev-parse --verify tag1) &&
69
75
git checkout master
76
'
77
80
-test_expect_success NOT_MINGW 'setup expect' '
78
+test_expect_success 'setup expect' '
79
cat - <<EOF >expect
80
want $C
81
want $T
82
EOF
83
'
84
87
-test_expect_success NOT_MINGW 'fetch C, T (new branch, tag : 1 connection)' '
85
+test_expect_success 'fetch C, T (new branch, tag : 1 connection)' '
86
rm -f $U &&
87
(
88
cd cloned &&
91
- GIT_TRACE_PACKET=3 git fetch 3>../$U &&
89
+ GIT_TRACE_PACKET=$UPATH git fetch &&
90
test $C = $(git rev-parse --verify origin/cat) &&
91
test $T = $(git rev-parse --verify tag1) &&
92
test $A = $(git rev-parse --verify tag1^0)
95
test_cmp expect actual
96
'
97
100
-test_expect_success NOT_MINGW "create commits O, B, tag S on B" '
98
+test_expect_success "create commits O, B, tag S on B" '
99
test_tick &&
100
echo O >file &&
101
git add file &&
111
S=$(git rev-parse --verify tag2)
112
'
113
116
-test_expect_success NOT_MINGW 'setup expect' '
114
+test_expect_success 'setup expect' '
115
cat - <<EOF >expect
116
want $B
117
want $S
118
EOF
119
'
120
123
-test_expect_success NOT_MINGW 'fetch B, S (commit and tag : 1 connection)' '
121
+test_expect_success 'fetch B, S (commit and tag : 1 connection)' '
122
rm -f $U &&
123
(
124
cd cloned &&
127
- GIT_TRACE_PACKET=3 git fetch 3>../$U &&
125
+ GIT_TRACE_PACKET=$UPATH git fetch &&
126
test $B = $(git rev-parse --verify origin/master) &&
127
test $B = $(git rev-parse --verify tag2^0) &&
128
test $S = $(git rev-parse --verify tag2)
131
test_cmp expect actual
132
'
133
136
-test_expect_success NOT_MINGW 'setup expect' '
134
+test_expect_success 'setup expect' '
135
cat - <<EOF >expect
136
want $B
137
want $S
138
EOF
139
'
140
143
-test_expect_success NOT_MINGW 'new clone fetch master and tags' '
141
+test_expect_success 'new clone fetch master and tags' '
142
git branch -D cat
143
rm -f $U
144
(
146
cd clone2 &&
147
git init &&
148
git remote add origin .. &&
151
- GIT_TRACE_PACKET=3 git fetch 3>../$U &&
149
+ GIT_TRACE_PACKET=$UPATH git fetch &&
150
test $B = $(git rev-parse --verify origin/master) &&
151
test $S = $(git rev-parse --verify tag2) &&
152
test $B = $(git rev-parse --verify tag2^0) &&