3 c8c71e6e 2020-03-21 stsp # Copyright (c) 2020 Stefan Sperling <stsp@openbsd.org>
5 c8c71e6e 2020-03-21 stsp # Permission to use, copy, modify, and distribute this software for any
6 c8c71e6e 2020-03-21 stsp # purpose with or without fee is hereby granted, provided that the above
7 c8c71e6e 2020-03-21 stsp # copyright notice and this permission notice appear in all copies.
9 c8c71e6e 2020-03-21 stsp # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10 c8c71e6e 2020-03-21 stsp # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11 c8c71e6e 2020-03-21 stsp # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12 c8c71e6e 2020-03-21 stsp # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13 c8c71e6e 2020-03-21 stsp # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14 c8c71e6e 2020-03-21 stsp # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15 c8c71e6e 2020-03-21 stsp # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
17 c8c71e6e 2020-03-21 stsp . ./common.sh
19 f6cae3ed 2020-09-13 naddy test_fetch_basic() {
20 c8c71e6e 2020-03-21 stsp local testroot=`test_init fetch_basic`
21 c8c71e6e 2020-03-21 stsp local testurl=ssh://127.0.0.1/$testroot
22 c8c71e6e 2020-03-21 stsp local commit_id=`git_show_head $testroot/repo`
24 c8c71e6e 2020-03-21 stsp got clone -q $testurl/repo $testroot/repo-clone
26 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
27 c8c71e6e 2020-03-21 stsp echo "got clone command failed unexpectedly" >&2
28 c8c71e6e 2020-03-21 stsp test_done "$testroot" "$ret"
32 c8c71e6e 2020-03-21 stsp echo "modified alpha" > $testroot/repo/alpha
33 c8c71e6e 2020-03-21 stsp git_commit $testroot/repo -m "modified alpha"
34 c8c71e6e 2020-03-21 stsp local commit_id2=`git_show_head $testroot/repo`
36 c8c71e6e 2020-03-21 stsp got ref -l -r $testroot/repo-clone > $testroot/stdout
38 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
39 c8c71e6e 2020-03-21 stsp echo "got ref command failed unexpectedly" >&2
40 c8c71e6e 2020-03-21 stsp test_done "$testroot" "$ret"
44 c8c71e6e 2020-03-21 stsp got fetch -q -r $testroot/repo-clone > $testroot/stdout \
45 c8c71e6e 2020-03-21 stsp 2> $testroot/stderr
47 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
48 c8c71e6e 2020-03-21 stsp echo "got fetch command failed unexpectedly" >&2
49 c8c71e6e 2020-03-21 stsp test_done "$testroot" "$ret"
53 c8c71e6e 2020-03-21 stsp echo -n > $testroot/stdout.expected
55 c8c71e6e 2020-03-21 stsp cmp -s $testroot/stdout $testroot/stdout.expected
57 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
58 c8c71e6e 2020-03-21 stsp diff -u $testroot/stdout.expected $testroot/stdout
59 c8c71e6e 2020-03-21 stsp test_done "$testroot" "$ret"
63 c8c71e6e 2020-03-21 stsp got log -l0 -p -r $testroot/repo > $testroot/log-repo
65 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
66 c8c71e6e 2020-03-21 stsp echo "got log command failed unexpectedly" >&2
67 c8c71e6e 2020-03-21 stsp test_done "$testroot" "$ret"
70 c8c71e6e 2020-03-21 stsp got log -l0 -p -r $testroot/repo > $testroot/log-repo-clone
72 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
73 c8c71e6e 2020-03-21 stsp echo "got log command failed unexpectedly" >&2
74 c8c71e6e 2020-03-21 stsp test_done "$testroot" "$ret"
77 c8c71e6e 2020-03-21 stsp cmp -s $testroot/log-repo $testroot/log-repo-clone
79 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
80 c8c71e6e 2020-03-21 stsp echo "log -p output of cloned repository differs" >&2
81 c8c71e6e 2020-03-21 stsp test_done "$testroot" "$ret"
85 c8c71e6e 2020-03-21 stsp got ref -l -r $testroot/repo > $testroot/stdout
87 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
88 c8c71e6e 2020-03-21 stsp echo "got ref command failed unexpectedly" >&2
89 c8c71e6e 2020-03-21 stsp test_done "$testroot" "$ret"
93 c8c71e6e 2020-03-21 stsp echo "HEAD: refs/heads/master" > $testroot/stdout.expected
94 c8c71e6e 2020-03-21 stsp echo "refs/heads/master: $commit_id2" >> $testroot/stdout.expected
96 c8c71e6e 2020-03-21 stsp cmp -s $testroot/stdout $testroot/stdout.expected
98 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
99 c8c71e6e 2020-03-21 stsp diff -u $testroot/stdout.expected $testroot/stdout
100 c8c71e6e 2020-03-21 stsp test_done "$testroot" "$ret"
104 c8c71e6e 2020-03-21 stsp got ref -l -r $testroot/repo-clone > $testroot/stdout
106 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
107 c8c71e6e 2020-03-21 stsp echo "got ref command failed unexpectedly" >&2
108 c8c71e6e 2020-03-21 stsp test_done "$testroot" "$ret"
112 c8c71e6e 2020-03-21 stsp echo "HEAD: refs/heads/master" > $testroot/stdout.expected
113 c8c71e6e 2020-03-21 stsp echo "refs/heads/master: $commit_id" >> $testroot/stdout.expected
114 f298ae0f 2020-03-25 stsp echo "refs/remotes/origin/HEAD: refs/remotes/origin/master" \
115 f298ae0f 2020-03-25 stsp >> $testroot/stdout.expected
116 c8c71e6e 2020-03-21 stsp echo "refs/remotes/origin/master: $commit_id2" \
117 c8c71e6e 2020-03-21 stsp >> $testroot/stdout.expected
119 c8c71e6e 2020-03-21 stsp cmp -s $testroot/stdout $testroot/stdout.expected
121 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
122 c8c71e6e 2020-03-21 stsp diff -u $testroot/stdout.expected $testroot/stdout
124 c8c71e6e 2020-03-21 stsp test_done "$testroot" "$ret"
127 f6cae3ed 2020-09-13 naddy test_fetch_list() {
128 c8c71e6e 2020-03-21 stsp local testroot=`test_init fetch_list`
129 c8c71e6e 2020-03-21 stsp local testurl=ssh://127.0.0.1/$testroot
130 c8c71e6e 2020-03-21 stsp local commit_id=`git_show_head $testroot/repo`
132 c8c71e6e 2020-03-21 stsp got branch -r $testroot/repo -c $commit_id foo
133 e31abbf2 2020-03-22 stsp got ref -r $testroot/repo -c $commit_id refs/hoo/boo/zoo
134 c8c71e6e 2020-03-21 stsp got tag -r $testroot/repo -c $commit_id -m tag "1.0" >/dev/null
136 c8c71e6e 2020-03-21 stsp got clone -q $testurl/repo $testroot/repo-clone
138 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
139 c8c71e6e 2020-03-21 stsp echo "got clone command failed unexpectedly" >&2
140 c8c71e6e 2020-03-21 stsp test_done "$testroot" "$ret"
144 612392ee 2021-01-05 stsp (cd $testroot/repo-clone && got fetch -q -l \
145 c8c71e6e 2020-03-21 stsp > $testroot/stdout 2>$testroot/stderr)
147 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
148 c8c71e6e 2020-03-21 stsp echo "got fetch command failed unexpectedly" >&2
149 c8c71e6e 2020-03-21 stsp test_done "$testroot" "$ret"
153 612392ee 2021-01-05 stsp got ref -l -r $testroot/repo > $testroot/stdout.expected
155 c8c71e6e 2020-03-21 stsp cmp -s $testroot/stdout $testroot/stdout.expected
157 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
158 c8c71e6e 2020-03-21 stsp diff -u $testroot/stdout.expected $testroot/stdout
160 c8c71e6e 2020-03-21 stsp test_done "$testroot" "$ret"
163 f6cae3ed 2020-09-13 naddy test_fetch_branch() {
164 c8c71e6e 2020-03-21 stsp local testroot=`test_init fetch_branch`
165 c8c71e6e 2020-03-21 stsp local testurl=ssh://127.0.0.1/$testroot
166 c8c71e6e 2020-03-21 stsp local commit_id=`git_show_head $testroot/repo`
168 c8c71e6e 2020-03-21 stsp got clone -q $testurl/repo $testroot/repo-clone
170 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
171 c8c71e6e 2020-03-21 stsp echo "got clone command failed unexpectedly" >&2
172 c8c71e6e 2020-03-21 stsp test_done "$testroot" "$ret"
176 c8c71e6e 2020-03-21 stsp got branch -r $testroot/repo -c $commit_id foo
177 e31abbf2 2020-03-22 stsp got ref -r $testroot/repo -c $commit_id refs/hoo/boo/zoo
178 c8c71e6e 2020-03-21 stsp got tag -r $testroot/repo -c $commit_id -m tag "1.0" >/dev/null
179 c8c71e6e 2020-03-21 stsp local tag_id=`got ref -r $testroot/repo -l \
180 c8c71e6e 2020-03-21 stsp | grep "^refs/tags/$tag" | tr -d ' ' | cut -d: -f2`
182 c8c71e6e 2020-03-21 stsp echo "modified alpha on master" > $testroot/repo/alpha
183 c8c71e6e 2020-03-21 stsp git_commit $testroot/repo -m "modified alpha"
184 c8c71e6e 2020-03-21 stsp local commit_id2=`git_show_head $testroot/repo`
186 c8c71e6e 2020-03-21 stsp (cd $testroot/repo && git checkout -q foo)
187 c8c71e6e 2020-03-21 stsp echo "modified alpha on foo" > $testroot/repo/alpha
188 c8c71e6e 2020-03-21 stsp git_commit $testroot/repo -m "modified alpha"
189 c8c71e6e 2020-03-21 stsp local commit_id3=`git_show_head $testroot/repo`
191 bf1c78e5 2023-02-18 mark # foo is now the default HEAD branch in $testroot/repo and should be
192 bf1c78e5 2023-02-18 mark # fetched as the clone's remote HEAD symref target no longer matches
193 188f8dcf 2023-02-07 stsp got fetch -q -r $testroot/repo-clone > $testroot/stdout
195 188f8dcf 2023-02-07 stsp if [ $ret -ne 0 ]; then
196 188f8dcf 2023-02-07 stsp echo "got fetch command failed unexpectedly" >&2
197 188f8dcf 2023-02-07 stsp test_done "$testroot" "$ret"
201 188f8dcf 2023-02-07 stsp echo -n > $testroot/stdout.expected
203 188f8dcf 2023-02-07 stsp cmp -s $testroot/stdout $testroot/stdout.expected
205 188f8dcf 2023-02-07 stsp if [ $ret -ne 0 ]; then
206 188f8dcf 2023-02-07 stsp diff -u $testroot/stdout.expected $testroot/stdout
207 188f8dcf 2023-02-07 stsp test_done "$testroot" "$ret"
211 188f8dcf 2023-02-07 stsp got ref -l -r $testroot/repo-clone > $testroot/stdout
213 188f8dcf 2023-02-07 stsp echo "HEAD: refs/heads/master" > $testroot/stdout.expected
214 bf1c78e5 2023-02-18 mark echo "refs/heads/foo: $commit_id3" >> $testroot/stdout.expected
215 188f8dcf 2023-02-07 stsp echo "refs/heads/master: $commit_id" >> $testroot/stdout.expected
216 bf1c78e5 2023-02-18 mark echo "refs/remotes/origin/HEAD: refs/remotes/origin/foo" \
217 188f8dcf 2023-02-07 stsp >> $testroot/stdout.expected
218 bf1c78e5 2023-02-18 mark echo "refs/remotes/origin/foo: $commit_id3" \
219 bf1c78e5 2023-02-18 mark >> $testroot/stdout.expected
220 188f8dcf 2023-02-07 stsp echo "refs/remotes/origin/master: $commit_id2" \
221 188f8dcf 2023-02-07 stsp >> $testroot/stdout.expected
222 188f8dcf 2023-02-07 stsp # refs/hoo/boo/zoo is missing because it is outside of refs/heads
223 188f8dcf 2023-02-07 stsp echo "refs/tags/1.0: $tag_id" >> $testroot/stdout.expected
225 188f8dcf 2023-02-07 stsp cmp -s $testroot/stdout $testroot/stdout.expected
227 188f8dcf 2023-02-07 stsp if [ $ret -ne 0 ]; then
228 188f8dcf 2023-02-07 stsp diff -u $testroot/stdout.expected $testroot/stdout
229 188f8dcf 2023-02-07 stsp test_done "$testroot" "$ret"
233 188f8dcf 2023-02-07 stsp # fetch branch foo via command-line switch
234 c8c71e6e 2020-03-21 stsp got fetch -q -r $testroot/repo-clone -b foo > $testroot/stdout
236 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
237 c8c71e6e 2020-03-21 stsp echo "got fetch command failed unexpectedly" >&2
238 c8c71e6e 2020-03-21 stsp test_done "$testroot" "$ret"
242 c8c71e6e 2020-03-21 stsp echo -n > $testroot/stdout.expected
244 c8c71e6e 2020-03-21 stsp cmp -s $testroot/stdout $testroot/stdout.expected
246 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
247 c8c71e6e 2020-03-21 stsp diff -u $testroot/stdout.expected $testroot/stdout
248 c8c71e6e 2020-03-21 stsp test_done "$testroot" "$ret"
252 c8c71e6e 2020-03-21 stsp got ref -l -r $testroot/repo-clone > $testroot/stdout
254 c8c71e6e 2020-03-21 stsp echo "HEAD: refs/heads/master" > $testroot/stdout.expected
255 c8c71e6e 2020-03-21 stsp echo "refs/heads/foo: $commit_id3" >> $testroot/stdout.expected
256 c8c71e6e 2020-03-21 stsp echo "refs/heads/master: $commit_id" >> $testroot/stdout.expected
257 f1bcca34 2020-03-25 stsp echo "refs/remotes/origin/HEAD: refs/remotes/origin/foo" \
258 f298ae0f 2020-03-25 stsp >> $testroot/stdout.expected
259 c8c71e6e 2020-03-21 stsp echo "refs/remotes/origin/foo: $commit_id3" >> $testroot/stdout.expected
260 188f8dcf 2023-02-07 stsp echo "refs/remotes/origin/master: $commit_id2" \
261 c8c71e6e 2020-03-21 stsp >> $testroot/stdout.expected
262 c8c71e6e 2020-03-21 stsp # refs/hoo/boo/zoo is missing because it is outside of refs/heads
263 c8c71e6e 2020-03-21 stsp echo "refs/tags/1.0: $tag_id" >> $testroot/stdout.expected
265 c8c71e6e 2020-03-21 stsp cmp -s $testroot/stdout $testroot/stdout.expected
267 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
268 c8c71e6e 2020-03-21 stsp diff -u $testroot/stdout.expected $testroot/stdout
269 c8c71e6e 2020-03-21 stsp test_done "$testroot" "$ret"
273 ccbbf026 2023-02-06 stsp # got.conf tells us to fetch the 'master' branch by default
274 ccbbf026 2023-02-06 stsp got fetch -q -r $testroot/repo-clone > $testroot/stdout
276 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
277 c8c71e6e 2020-03-21 stsp echo "got fetch command failed unexpectedly" >&2
278 c8c71e6e 2020-03-21 stsp test_done "$testroot" "$ret"
282 c8c71e6e 2020-03-21 stsp echo -n > $testroot/stdout.expected
284 c8c71e6e 2020-03-21 stsp cmp -s $testroot/stdout $testroot/stdout.expected
286 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
287 c8c71e6e 2020-03-21 stsp diff -u $testroot/stdout.expected $testroot/stdout
288 c8c71e6e 2020-03-21 stsp test_done "$testroot" "$ret"
292 c8c71e6e 2020-03-21 stsp got ref -l -r $testroot/repo-clone > $testroot/stdout
294 c8c71e6e 2020-03-21 stsp echo "HEAD: refs/heads/master" > $testroot/stdout.expected
295 c8c71e6e 2020-03-21 stsp echo "refs/heads/foo: $commit_id3" >> $testroot/stdout.expected
296 c8c71e6e 2020-03-21 stsp echo "refs/heads/master: $commit_id" >> $testroot/stdout.expected
297 f1bcca34 2020-03-25 stsp echo "refs/remotes/origin/HEAD: refs/remotes/origin/foo" \
298 f298ae0f 2020-03-25 stsp >> $testroot/stdout.expected
299 c8c71e6e 2020-03-21 stsp echo "refs/remotes/origin/foo: $commit_id3" >> $testroot/stdout.expected
300 0c091d87 2023-02-02 stsp echo "refs/remotes/origin/master: $commit_id2" \
301 0c091d87 2023-02-02 stsp >> $testroot/stdout.expected
302 0c091d87 2023-02-02 stsp # refs/hoo/boo/zoo is missing because it is outside of refs/heads
303 0c091d87 2023-02-02 stsp echo "refs/tags/1.0: $tag_id" >> $testroot/stdout.expected
305 0c091d87 2023-02-02 stsp cmp -s $testroot/stdout $testroot/stdout.expected
307 0c091d87 2023-02-02 stsp if [ $ret -ne 0 ]; then
308 0c091d87 2023-02-02 stsp diff -u $testroot/stdout.expected $testroot/stdout
309 0c091d87 2023-02-02 stsp test_done "$testroot" "$ret"
313 0c091d87 2023-02-02 stsp echo "modified beta on foo" > $testroot/repo/beta
314 0c091d87 2023-02-02 stsp git_commit $testroot/repo -m "modified beta"
315 0c091d87 2023-02-02 stsp local commit_id4=`git_show_head $testroot/repo`
317 ccbbf026 2023-02-06 stsp # set the default HEAD branch back to master
318 ccbbf026 2023-02-06 stsp (cd $testroot/repo && git checkout -q master)
320 0c091d87 2023-02-02 stsp got checkout -b foo $testroot/repo-clone $testroot/wt > /dev/null
322 0c091d87 2023-02-02 stsp # fetch new commits on branch 'foo', implicitly obtaining the
323 0c091d87 2023-02-02 stsp # branch name from a work tree
324 0c091d87 2023-02-02 stsp (cd $testroot/wt && got fetch -q > $testroot/stdout)
326 0c091d87 2023-02-02 stsp echo -n > $testroot/stdout.expected
328 0c091d87 2023-02-02 stsp cmp -s $testroot/stdout $testroot/stdout.expected
330 0c091d87 2023-02-02 stsp if [ $ret -ne 0 ]; then
331 0c091d87 2023-02-02 stsp diff -u $testroot/stdout.expected $testroot/stdout
332 0c091d87 2023-02-02 stsp test_done "$testroot" "$ret"
336 0c091d87 2023-02-02 stsp wt_uuid=`(cd $testroot/wt && got info | grep 'UUID:' | \
337 0c091d87 2023-02-02 stsp cut -d ':' -f 2 | tr -d ' ')`
339 0c091d87 2023-02-02 stsp got ref -l -r $testroot/repo-clone > $testroot/stdout
341 0c091d87 2023-02-02 stsp echo "HEAD: refs/heads/master" > $testroot/stdout.expected
342 0c091d87 2023-02-02 stsp echo "refs/got/worktree/base-$wt_uuid: $commit_id3" \
343 0c091d87 2023-02-02 stsp >> $testroot/stdout.expected
344 0c091d87 2023-02-02 stsp echo "refs/heads/foo: $commit_id3" >> $testroot/stdout.expected
345 0c091d87 2023-02-02 stsp echo "refs/heads/master: $commit_id" >> $testroot/stdout.expected
346 ccbbf026 2023-02-06 stsp echo "refs/remotes/origin/HEAD: refs/remotes/origin/master" \
347 0c091d87 2023-02-02 stsp >> $testroot/stdout.expected
348 0c091d87 2023-02-02 stsp echo "refs/remotes/origin/foo: $commit_id4" >> $testroot/stdout.expected
349 c8c71e6e 2020-03-21 stsp echo "refs/remotes/origin/master: $commit_id2" \
350 c8c71e6e 2020-03-21 stsp >> $testroot/stdout.expected
351 c8c71e6e 2020-03-21 stsp # refs/hoo/boo/zoo is missing because it is outside of refs/heads
352 c8c71e6e 2020-03-21 stsp echo "refs/tags/1.0: $tag_id" >> $testroot/stdout.expected
354 c8c71e6e 2020-03-21 stsp cmp -s $testroot/stdout $testroot/stdout.expected
356 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
357 c8c71e6e 2020-03-21 stsp diff -u $testroot/stdout.expected $testroot/stdout
358 188f8dcf 2023-02-07 stsp test_done "$testroot" "$ret"
362 188f8dcf 2023-02-07 stsp # remove default branch information from got.conf
363 188f8dcf 2023-02-07 stsp sed -i -e "/branch {/d" $testroot/repo-clone/got.conf
365 188f8dcf 2023-02-07 stsp # make another change on 'foo' and fetch it without got.conf
366 188f8dcf 2023-02-07 stsp (cd $testroot/repo && git checkout -q foo)
367 188f8dcf 2023-02-07 stsp echo "modified beta on foo agan" > $testroot/repo/beta
368 188f8dcf 2023-02-07 stsp git_commit $testroot/repo -m "modified beta"
369 188f8dcf 2023-02-07 stsp local commit_id5=`git_show_head $testroot/repo`
370 188f8dcf 2023-02-07 stsp (cd $testroot/repo && git checkout -q master)
372 188f8dcf 2023-02-07 stsp # fetch new commits on branch 'foo', implicitly obtaining the
373 188f8dcf 2023-02-07 stsp # branch name from a work tree
374 188f8dcf 2023-02-07 stsp (cd $testroot/wt && got fetch -q > $testroot/stdout)
376 188f8dcf 2023-02-07 stsp echo -n > $testroot/stdout.expected
378 188f8dcf 2023-02-07 stsp cmp -s $testroot/stdout $testroot/stdout.expected
380 188f8dcf 2023-02-07 stsp if [ $ret -ne 0 ]; then
381 188f8dcf 2023-02-07 stsp diff -u $testroot/stdout.expected $testroot/stdout
382 188f8dcf 2023-02-07 stsp test_done "$testroot" "$ret"
386 188f8dcf 2023-02-07 stsp wt_uuid=`(cd $testroot/wt && got info | grep 'UUID:' | \
387 188f8dcf 2023-02-07 stsp cut -d ':' -f 2 | tr -d ' ')`
389 188f8dcf 2023-02-07 stsp got ref -l -r $testroot/repo-clone > $testroot/stdout
391 188f8dcf 2023-02-07 stsp echo "HEAD: refs/heads/master" > $testroot/stdout.expected
392 188f8dcf 2023-02-07 stsp echo "refs/got/worktree/base-$wt_uuid: $commit_id3" \
393 188f8dcf 2023-02-07 stsp >> $testroot/stdout.expected
394 188f8dcf 2023-02-07 stsp echo "refs/heads/foo: $commit_id3" >> $testroot/stdout.expected
395 188f8dcf 2023-02-07 stsp echo "refs/heads/master: $commit_id" >> $testroot/stdout.expected
396 188f8dcf 2023-02-07 stsp echo "refs/remotes/origin/HEAD: refs/remotes/origin/master" \
397 188f8dcf 2023-02-07 stsp >> $testroot/stdout.expected
398 188f8dcf 2023-02-07 stsp echo "refs/remotes/origin/foo: $commit_id5" >> $testroot/stdout.expected
399 188f8dcf 2023-02-07 stsp echo "refs/remotes/origin/master: $commit_id2" \
400 188f8dcf 2023-02-07 stsp >> $testroot/stdout.expected
401 188f8dcf 2023-02-07 stsp # refs/hoo/boo/zoo is missing because it is outside of refs/heads
402 188f8dcf 2023-02-07 stsp echo "refs/tags/1.0: $tag_id" >> $testroot/stdout.expected
404 188f8dcf 2023-02-07 stsp cmp -s $testroot/stdout $testroot/stdout.expected
406 188f8dcf 2023-02-07 stsp if [ $ret -ne 0 ]; then
407 188f8dcf 2023-02-07 stsp diff -u $testroot/stdout.expected $testroot/stdout
409 c8c71e6e 2020-03-21 stsp test_done "$testroot" "$ret"
412 f6cae3ed 2020-09-13 naddy test_fetch_all() {
413 c8c71e6e 2020-03-21 stsp local testroot=`test_init fetch_all`
414 c8c71e6e 2020-03-21 stsp local testurl=ssh://127.0.0.1/$testroot
415 c8c71e6e 2020-03-21 stsp local commit_id=`git_show_head $testroot/repo`
417 c8c71e6e 2020-03-21 stsp got clone -q $testurl/repo $testroot/repo-clone
419 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
420 c8c71e6e 2020-03-21 stsp echo "got clone command failed unexpectedly" >&2
421 c8c71e6e 2020-03-21 stsp test_done "$testroot" "$ret"
425 c8c71e6e 2020-03-21 stsp got branch -r $testroot/repo -c $commit_id foo
426 e31abbf2 2020-03-22 stsp got ref -r $testroot/repo -c $commit_id refs/hoo/boo/zoo
427 c8c71e6e 2020-03-21 stsp got tag -r $testroot/repo -c $commit_id -m tag "1.0" >/dev/null
428 c8c71e6e 2020-03-21 stsp local tag_id=`got ref -r $testroot/repo -l \
429 c8c71e6e 2020-03-21 stsp | grep "^refs/tags/$tag" | tr -d ' ' | cut -d: -f2`
431 c8c71e6e 2020-03-21 stsp got ref -l -r $testroot/repo-clone > $testroot/stdout
433 c8c71e6e 2020-03-21 stsp echo "HEAD: refs/heads/master" > $testroot/stdout.expected
434 c8c71e6e 2020-03-21 stsp echo "refs/heads/master: $commit_id" >> $testroot/stdout.expected
435 f298ae0f 2020-03-25 stsp echo "refs/remotes/origin/HEAD: refs/remotes/origin/master" \
436 f298ae0f 2020-03-25 stsp >> $testroot/stdout.expected
437 c8c71e6e 2020-03-21 stsp echo "refs/remotes/origin/master: $commit_id" \
438 c8c71e6e 2020-03-21 stsp >> $testroot/stdout.expected
439 c8c71e6e 2020-03-21 stsp # refs/hoo/boo/zoo is missing because it is outside of refs/heads
441 c8c71e6e 2020-03-21 stsp cmp -s $testroot/stdout $testroot/stdout.expected
443 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
444 c8c71e6e 2020-03-21 stsp diff -u $testroot/stdout.expected $testroot/stdout
445 c8c71e6e 2020-03-21 stsp test_done "$testroot" "$ret"
449 c8c71e6e 2020-03-21 stsp got fetch -q -a -r $testroot/repo-clone
451 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
452 c8c71e6e 2020-03-21 stsp echo "got fetch command failed unexpectedly" >&2
453 c8c71e6e 2020-03-21 stsp test_done "$testroot" "$ret"
457 c8c71e6e 2020-03-21 stsp got ref -l -r $testroot/repo-clone > $testroot/stdout
459 c8c71e6e 2020-03-21 stsp echo "HEAD: refs/heads/master" > $testroot/stdout.expected
460 c8c71e6e 2020-03-21 stsp echo "refs/heads/foo: $commit_id" >> $testroot/stdout.expected
461 c8c71e6e 2020-03-21 stsp echo "refs/heads/master: $commit_id" >> $testroot/stdout.expected
462 f298ae0f 2020-03-25 stsp echo "refs/remotes/origin/HEAD: refs/remotes/origin/master" \
463 f298ae0f 2020-03-25 stsp >> $testroot/stdout.expected
464 c8c71e6e 2020-03-21 stsp echo "refs/remotes/origin/foo: $commit_id" >> $testroot/stdout.expected
465 c8c71e6e 2020-03-21 stsp echo "refs/remotes/origin/master: $commit_id" \
466 c8c71e6e 2020-03-21 stsp >> $testroot/stdout.expected
467 c8c71e6e 2020-03-21 stsp # refs/hoo/boo/zoo is missing because it is outside of refs/heads
468 c8c71e6e 2020-03-21 stsp echo "refs/tags/1.0: $tag_id" >> $testroot/stdout.expected
470 c8c71e6e 2020-03-21 stsp cmp -s $testroot/stdout $testroot/stdout.expected
472 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
473 c8c71e6e 2020-03-21 stsp diff -u $testroot/stdout.expected $testroot/stdout
475 c8c71e6e 2020-03-21 stsp test_done "$testroot" "$ret"
478 f6cae3ed 2020-09-13 naddy test_fetch_empty_packfile() {
479 c8c71e6e 2020-03-21 stsp local testroot=`test_init fetch_empty_packfile`
480 c8c71e6e 2020-03-21 stsp local testurl=ssh://127.0.0.1/$testroot
481 c8c71e6e 2020-03-21 stsp local commit_id=`git_show_head $testroot/repo`
483 c8c71e6e 2020-03-21 stsp got tag -r $testroot/repo -c $commit_id -m tag "1.0" >/dev/null
484 c8c71e6e 2020-03-21 stsp local tag_id=`got ref -r $testroot/repo -l \
485 c8c71e6e 2020-03-21 stsp | grep "^refs/tags/$tag" | tr -d ' ' | cut -d: -f2`
487 c8c71e6e 2020-03-21 stsp got clone -q $testurl/repo $testroot/repo-clone
489 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
490 c8c71e6e 2020-03-21 stsp echo "got clone command failed unexpectedly" >&2
491 c8c71e6e 2020-03-21 stsp test_done "$testroot" "$ret"
495 c8c71e6e 2020-03-21 stsp got branch -r $testroot/repo -c $commit_id foo
496 e31abbf2 2020-03-22 stsp got ref -r $testroot/repo -c $commit_id refs/hoo/boo/zoo
498 c8c71e6e 2020-03-21 stsp got ref -l -r $testroot/repo-clone > $testroot/stdout
500 c8c71e6e 2020-03-21 stsp echo "HEAD: refs/heads/master" > $testroot/stdout.expected
501 c8c71e6e 2020-03-21 stsp echo "refs/heads/master: $commit_id" >> $testroot/stdout.expected
502 f298ae0f 2020-03-25 stsp echo "refs/remotes/origin/HEAD: refs/remotes/origin/master" \
503 f298ae0f 2020-03-25 stsp >> $testroot/stdout.expected
504 c8c71e6e 2020-03-21 stsp echo "refs/remotes/origin/master: $commit_id" \
505 c8c71e6e 2020-03-21 stsp >> $testroot/stdout.expected
506 c8c71e6e 2020-03-21 stsp # refs/hoo/boo/zoo is missing because it is outside of refs/heads
507 c8c71e6e 2020-03-21 stsp echo "refs/tags/1.0: $tag_id" >> $testroot/stdout.expected
509 c8c71e6e 2020-03-21 stsp cmp -s $testroot/stdout $testroot/stdout.expected
511 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
512 c8c71e6e 2020-03-21 stsp diff -u $testroot/stdout.expected $testroot/stdout
513 c8c71e6e 2020-03-21 stsp test_done "$testroot" "$ret"
517 c8c71e6e 2020-03-21 stsp got fetch -q -a -r $testroot/repo-clone
519 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
520 c8c71e6e 2020-03-21 stsp echo "got fetch command failed unexpectedly" >&2
521 c8c71e6e 2020-03-21 stsp test_done "$testroot" "$ret"
525 c8c71e6e 2020-03-21 stsp got ref -l -r $testroot/repo-clone > $testroot/stdout
527 c8c71e6e 2020-03-21 stsp echo "HEAD: refs/heads/master" > $testroot/stdout.expected
528 c8c71e6e 2020-03-21 stsp echo "refs/heads/foo: $commit_id" >> $testroot/stdout.expected
529 c8c71e6e 2020-03-21 stsp echo "refs/heads/master: $commit_id" >> $testroot/stdout.expected
530 f298ae0f 2020-03-25 stsp echo "refs/remotes/origin/HEAD: refs/remotes/origin/master" \
531 f298ae0f 2020-03-25 stsp >> $testroot/stdout.expected
532 c8c71e6e 2020-03-21 stsp echo "refs/remotes/origin/foo: $commit_id" >> $testroot/stdout.expected
533 c8c71e6e 2020-03-21 stsp echo "refs/remotes/origin/master: $commit_id" \
534 c8c71e6e 2020-03-21 stsp >> $testroot/stdout.expected
535 c8c71e6e 2020-03-21 stsp # refs/hoo/boo/zoo is missing because it is outside of refs/heads
536 c8c71e6e 2020-03-21 stsp echo "refs/tags/1.0: $tag_id" >> $testroot/stdout.expected
538 c8c71e6e 2020-03-21 stsp cmp -s $testroot/stdout $testroot/stdout.expected
540 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
541 c8c71e6e 2020-03-21 stsp diff -u $testroot/stdout.expected $testroot/stdout
543 c8c71e6e 2020-03-21 stsp test_done "$testroot" "$ret"
546 f6cae3ed 2020-09-13 naddy test_fetch_delete_branch() {
547 c8c71e6e 2020-03-21 stsp local testroot=`test_init fetch_delete_branch`
548 c8c71e6e 2020-03-21 stsp local testurl=ssh://127.0.0.1/$testroot
549 c8c71e6e 2020-03-21 stsp local commit_id=`git_show_head $testroot/repo`
552 c8c71e6e 2020-03-21 stsp got branch -r $testroot/repo -c $commit_id foo
553 e31abbf2 2020-03-22 stsp got ref -r $testroot/repo -c $commit_id refs/hoo/boo/zoo
554 c8c71e6e 2020-03-21 stsp got tag -r $testroot/repo -c $commit_id -m tag "1.0" >/dev/null
555 c8c71e6e 2020-03-21 stsp local tag_id=`got ref -r $testroot/repo -l \
556 c8c71e6e 2020-03-21 stsp | grep "^refs/tags/$tag" | tr -d ' ' | cut -d: -f2`
558 c8c71e6e 2020-03-21 stsp got clone -a -q $testurl/repo $testroot/repo-clone
560 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
561 c8c71e6e 2020-03-21 stsp echo "got clone command failed unexpectedly" >&2
562 c8c71e6e 2020-03-21 stsp test_done "$testroot" "$ret"
566 c8c71e6e 2020-03-21 stsp got ref -l -r $testroot/repo-clone > $testroot/stdout
568 c8c71e6e 2020-03-21 stsp echo "HEAD: refs/heads/master" > $testroot/stdout.expected
569 c8c71e6e 2020-03-21 stsp echo "refs/heads/foo: $commit_id" >> $testroot/stdout.expected
570 c8c71e6e 2020-03-21 stsp echo "refs/heads/master: $commit_id" >> $testroot/stdout.expected
571 f298ae0f 2020-03-25 stsp echo "refs/remotes/origin/HEAD: refs/remotes/origin/master" \
572 f298ae0f 2020-03-25 stsp >> $testroot/stdout.expected
573 c8c71e6e 2020-03-21 stsp echo "refs/remotes/origin/foo: $commit_id" \
574 c8c71e6e 2020-03-21 stsp >> $testroot/stdout.expected
575 c8c71e6e 2020-03-21 stsp echo "refs/remotes/origin/master: $commit_id" \
576 c8c71e6e 2020-03-21 stsp >> $testroot/stdout.expected
577 c8c71e6e 2020-03-21 stsp # refs/hoo/boo/zoo is missing because it is outside of refs/heads
578 c8c71e6e 2020-03-21 stsp echo "refs/tags/1.0: $tag_id" >> $testroot/stdout.expected
580 c8c71e6e 2020-03-21 stsp cmp -s $testroot/stdout $testroot/stdout.expected
582 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
583 c8c71e6e 2020-03-21 stsp diff -u $testroot/stdout.expected $testroot/stdout
584 c8c71e6e 2020-03-21 stsp test_done "$testroot" "$ret"
588 978a28a1 2021-09-04 naddy got branch -r $testroot/repo -d foo >/dev/null
590 c8c71e6e 2020-03-21 stsp got fetch -q -r $testroot/repo-clone
592 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
593 c8c71e6e 2020-03-21 stsp echo "got fetch command failed unexpectedly" >&2
594 c8c71e6e 2020-03-21 stsp test_done "$testroot" "$ret"
598 c8c71e6e 2020-03-21 stsp got ref -l -r $testroot/repo-clone > $testroot/stdout
600 c8c71e6e 2020-03-21 stsp echo "HEAD: refs/heads/master" > $testroot/stdout.expected
601 c8c71e6e 2020-03-21 stsp echo "refs/heads/foo: $commit_id" >> $testroot/stdout.expected
602 c8c71e6e 2020-03-21 stsp echo "refs/heads/master: $commit_id" >> $testroot/stdout.expected
603 f298ae0f 2020-03-25 stsp echo "refs/remotes/origin/HEAD: refs/remotes/origin/master" \
604 f298ae0f 2020-03-25 stsp >> $testroot/stdout.expected
605 c8c71e6e 2020-03-21 stsp echo "refs/remotes/origin/foo: $commit_id" >> $testroot/stdout.expected
606 c8c71e6e 2020-03-21 stsp echo "refs/remotes/origin/master: $commit_id" \
607 c8c71e6e 2020-03-21 stsp >> $testroot/stdout.expected
608 c8c71e6e 2020-03-21 stsp # refs/hoo/boo/zoo is missing because it is outside of refs/heads
609 c8c71e6e 2020-03-21 stsp echo "refs/tags/1.0: $tag_id" >> $testroot/stdout.expected
611 c8c71e6e 2020-03-21 stsp cmp -s $testroot/stdout $testroot/stdout.expected
613 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
614 c8c71e6e 2020-03-21 stsp diff -u $testroot/stdout.expected $testroot/stdout
615 c8c71e6e 2020-03-21 stsp test_done "$testroot" "$ret"
619 c8c71e6e 2020-03-21 stsp got fetch -d -q -r $testroot/repo-clone > $testroot/stdout
621 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
622 c8c71e6e 2020-03-21 stsp echo "got fetch command failed unexpectedly" >&2
623 c8c71e6e 2020-03-21 stsp test_done "$testroot" "$ret"
627 c8c71e6e 2020-03-21 stsp echo -n > $testroot/stdout.expected
629 c8c71e6e 2020-03-21 stsp cmp -s $testroot/stdout $testroot/stdout.expected
631 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
632 c8c71e6e 2020-03-21 stsp diff -u $testroot/stdout.expected $testroot/stdout
633 c8c71e6e 2020-03-21 stsp test_done "$testroot" "$ret"
637 c8c71e6e 2020-03-21 stsp got ref -l -r $testroot/repo-clone > $testroot/stdout
639 c8c71e6e 2020-03-21 stsp echo "HEAD: refs/heads/master" > $testroot/stdout.expected
640 c8c71e6e 2020-03-21 stsp # refs/heads/foo is now deleted
641 c8c71e6e 2020-03-21 stsp echo "refs/heads/master: $commit_id" >> $testroot/stdout.expected
642 f298ae0f 2020-03-25 stsp echo "refs/remotes/origin/HEAD: refs/remotes/origin/master" \
643 f298ae0f 2020-03-25 stsp >> $testroot/stdout.expected
644 3789fd73 2020-03-26 stsp # refs/remotes/origin/foo is now deleted
645 c8c71e6e 2020-03-21 stsp echo "refs/remotes/origin/master: $commit_id" \
646 c8c71e6e 2020-03-21 stsp >> $testroot/stdout.expected
647 c8c71e6e 2020-03-21 stsp # refs/hoo/boo/zoo is missing because it is outside of refs/heads
648 c8c71e6e 2020-03-21 stsp echo "refs/tags/1.0: $tag_id" >> $testroot/stdout.expected
650 c8c71e6e 2020-03-21 stsp cmp -s $testroot/stdout $testroot/stdout.expected
652 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
653 c8c71e6e 2020-03-21 stsp diff -u $testroot/stdout.expected $testroot/stdout
655 c8c71e6e 2020-03-21 stsp test_done "$testroot" "$ret"
659 1b796c3f 2021-09-11 stsp test_fetch_delete_branch_mirror() {
660 1b796c3f 2021-09-11 stsp local testroot=`test_init fetch_delete_branch_mirror`
661 1b796c3f 2021-09-11 stsp local testurl=ssh://127.0.0.1/$testroot
662 1b796c3f 2021-09-11 stsp local commit_id=`git_show_head $testroot/repo`
664 1b796c3f 2021-09-11 stsp got branch -r $testroot/repo -c $commit_id foo
665 1b796c3f 2021-09-11 stsp got ref -r $testroot/repo -c $commit_id refs/hoo/boo/zoo
666 1b796c3f 2021-09-11 stsp got tag -r $testroot/repo -c $commit_id -m tag "1.0" >/dev/null
667 1b796c3f 2021-09-11 stsp local tag_id=`got ref -r $testroot/repo -l \
668 1b796c3f 2021-09-11 stsp | grep "^refs/tags/$tag" | tr -d ' ' | cut -d: -f2`
670 1b796c3f 2021-09-11 stsp got clone -a -m -q $testurl/repo $testroot/repo-clone
672 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
673 1b796c3f 2021-09-11 stsp echo "got clone command failed unexpectedly" >&2
674 1b796c3f 2021-09-11 stsp test_done "$testroot" "$ret"
678 1b796c3f 2021-09-11 stsp got ref -l -r $testroot/repo-clone > $testroot/stdout
680 1b796c3f 2021-09-11 stsp echo "HEAD: refs/heads/master" > $testroot/stdout.expected
681 1b796c3f 2021-09-11 stsp echo "refs/heads/foo: $commit_id" >> $testroot/stdout.expected
682 1b796c3f 2021-09-11 stsp echo "refs/heads/master: $commit_id" >> $testroot/stdout.expected
683 1b796c3f 2021-09-11 stsp # refs/hoo/boo/zoo is missing because it is outside of refs/heads
684 1b796c3f 2021-09-11 stsp echo "refs/tags/1.0: $tag_id" >> $testroot/stdout.expected
686 1b796c3f 2021-09-11 stsp cmp -s $testroot/stdout $testroot/stdout.expected
688 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
689 1b796c3f 2021-09-11 stsp diff -u $testroot/stdout.expected $testroot/stdout
690 1b796c3f 2021-09-11 stsp test_done "$testroot" "$ret"
694 1b796c3f 2021-09-11 stsp got branch -r $testroot/repo -d foo >/dev/null
696 1b796c3f 2021-09-11 stsp got fetch -q -r $testroot/repo-clone
698 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
699 1b796c3f 2021-09-11 stsp echo "got fetch command failed unexpectedly" >&2
700 1b796c3f 2021-09-11 stsp test_done "$testroot" "$ret"
704 1b796c3f 2021-09-11 stsp got ref -l -r $testroot/repo-clone > $testroot/stdout
706 1b796c3f 2021-09-11 stsp echo "HEAD: refs/heads/master" > $testroot/stdout.expected
707 1b796c3f 2021-09-11 stsp echo "refs/heads/foo: $commit_id" >> $testroot/stdout.expected
708 1b796c3f 2021-09-11 stsp echo "refs/heads/master: $commit_id" >> $testroot/stdout.expected
709 1b796c3f 2021-09-11 stsp # refs/hoo/boo/zoo is missing because it is outside of refs/heads
710 1b796c3f 2021-09-11 stsp echo "refs/tags/1.0: $tag_id" >> $testroot/stdout.expected
712 1b796c3f 2021-09-11 stsp cmp -s $testroot/stdout $testroot/stdout.expected
714 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
715 1b796c3f 2021-09-11 stsp diff -u $testroot/stdout.expected $testroot/stdout
716 1b796c3f 2021-09-11 stsp test_done "$testroot" "$ret"
720 1b796c3f 2021-09-11 stsp got fetch -d -q -r $testroot/repo-clone > $testroot/stdout
722 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
723 1b796c3f 2021-09-11 stsp echo "got fetch command failed unexpectedly" >&2
724 1b796c3f 2021-09-11 stsp test_done "$testroot" "$ret"
728 1b796c3f 2021-09-11 stsp echo -n > $testroot/stdout.expected
730 1b796c3f 2021-09-11 stsp cmp -s $testroot/stdout $testroot/stdout.expected
732 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
733 1b796c3f 2021-09-11 stsp diff -u $testroot/stdout.expected $testroot/stdout
734 1b796c3f 2021-09-11 stsp test_done "$testroot" "$ret"
738 1b796c3f 2021-09-11 stsp got ref -l -r $testroot/repo-clone > $testroot/stdout
740 1b796c3f 2021-09-11 stsp echo "HEAD: refs/heads/master" > $testroot/stdout.expected
741 1b796c3f 2021-09-11 stsp # refs/heads/foo is now deleted
742 1b796c3f 2021-09-11 stsp echo "refs/heads/master: $commit_id" >> $testroot/stdout.expected
743 1b796c3f 2021-09-11 stsp # refs/hoo/boo/zoo is missing because it is outside of refs/heads
744 1b796c3f 2021-09-11 stsp echo "refs/tags/1.0: $tag_id" >> $testroot/stdout.expected
746 1b796c3f 2021-09-11 stsp cmp -s $testroot/stdout $testroot/stdout.expected
748 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
749 1b796c3f 2021-09-11 stsp diff -u $testroot/stdout.expected $testroot/stdout
751 1b796c3f 2021-09-11 stsp test_done "$testroot" "$ret"
755 f6cae3ed 2020-09-13 naddy test_fetch_update_tag() {
756 db6d8ad8 2020-03-21 stsp local testroot=`test_init fetch_update_tag`
757 db6d8ad8 2020-03-21 stsp local testurl=ssh://127.0.0.1/$testroot
758 db6d8ad8 2020-03-21 stsp local commit_id=`git_show_head $testroot/repo`
761 db6d8ad8 2020-03-21 stsp got branch -r $testroot/repo -c $commit_id foo
762 e31abbf2 2020-03-22 stsp got ref -r $testroot/repo -c $commit_id refs/hoo/boo/zoo
763 db6d8ad8 2020-03-21 stsp got tag -r $testroot/repo -c $commit_id -m tag "1.0" >/dev/null
764 db6d8ad8 2020-03-21 stsp local tag_id=`got ref -r $testroot/repo -l \
765 db6d8ad8 2020-03-21 stsp | grep "^refs/tags/$tag" | tr -d ' ' | cut -d: -f2`
767 db6d8ad8 2020-03-21 stsp got clone -a -q $testurl/repo $testroot/repo-clone
769 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
770 db6d8ad8 2020-03-21 stsp echo "got clone command failed unexpectedly" >&2
771 db6d8ad8 2020-03-21 stsp test_done "$testroot" "$ret"
775 db6d8ad8 2020-03-21 stsp echo "modified alpha on master" > $testroot/repo/alpha
776 db6d8ad8 2020-03-21 stsp git_commit $testroot/repo -m "modified alpha"
777 db6d8ad8 2020-03-21 stsp local commit_id2=`git_show_head $testroot/repo`
779 db6d8ad8 2020-03-21 stsp got ref -r $testroot/repo -d "refs/tags/1.0" >/dev/null
780 db6d8ad8 2020-03-21 stsp got tag -r $testroot/repo -c $commit_id2 -m tag "1.0" >/dev/null
781 db6d8ad8 2020-03-21 stsp local tag_id2=`got ref -r $testroot/repo -l \
782 db6d8ad8 2020-03-21 stsp | grep "^refs/tags/$tag" | tr -d ' ' | cut -d: -f2`
784 db6d8ad8 2020-03-21 stsp got ref -l -r $testroot/repo-clone > $testroot/stdout
786 db6d8ad8 2020-03-21 stsp echo "HEAD: refs/heads/master" > $testroot/stdout.expected
787 db6d8ad8 2020-03-21 stsp echo "refs/heads/foo: $commit_id" >> $testroot/stdout.expected
788 db6d8ad8 2020-03-21 stsp echo "refs/heads/master: $commit_id" >> $testroot/stdout.expected
789 f298ae0f 2020-03-25 stsp echo "refs/remotes/origin/HEAD: refs/remotes/origin/master" \
790 f298ae0f 2020-03-25 stsp >> $testroot/stdout.expected
791 db6d8ad8 2020-03-21 stsp echo "refs/remotes/origin/foo: $commit_id" \
792 db6d8ad8 2020-03-21 stsp >> $testroot/stdout.expected
793 db6d8ad8 2020-03-21 stsp echo "refs/remotes/origin/master: $commit_id" \
794 db6d8ad8 2020-03-21 stsp >> $testroot/stdout.expected
795 db6d8ad8 2020-03-21 stsp # refs/hoo/boo/zoo is missing because it is outside of refs/heads
796 db6d8ad8 2020-03-21 stsp echo "refs/tags/1.0: $tag_id" >> $testroot/stdout.expected
798 db6d8ad8 2020-03-21 stsp cmp -s $testroot/stdout $testroot/stdout.expected
800 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
801 db6d8ad8 2020-03-21 stsp diff -u $testroot/stdout.expected $testroot/stdout
802 db6d8ad8 2020-03-21 stsp test_done "$testroot" "$ret"
806 98f64f14 2021-01-05 stsp got fetch -a -q -r $testroot/repo-clone
808 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
809 db6d8ad8 2020-03-21 stsp echo "got fetch command failed unexpectedly" >&2
810 db6d8ad8 2020-03-21 stsp test_done "$testroot" "$ret"
814 db6d8ad8 2020-03-21 stsp got ref -l -r $testroot/repo-clone > $testroot/stdout
816 db6d8ad8 2020-03-21 stsp echo "HEAD: refs/heads/master" > $testroot/stdout.expected
817 db6d8ad8 2020-03-21 stsp echo "refs/heads/foo: $commit_id" >> $testroot/stdout.expected
818 db6d8ad8 2020-03-21 stsp echo "refs/heads/master: $commit_id" >> $testroot/stdout.expected
819 f298ae0f 2020-03-25 stsp echo "refs/remotes/origin/HEAD: refs/remotes/origin/master" \
820 f298ae0f 2020-03-25 stsp >> $testroot/stdout.expected
821 db6d8ad8 2020-03-21 stsp echo "refs/remotes/origin/foo: $commit_id" >> $testroot/stdout.expected
822 db6d8ad8 2020-03-21 stsp echo "refs/remotes/origin/master: $commit_id2" \
823 db6d8ad8 2020-03-21 stsp >> $testroot/stdout.expected
824 db6d8ad8 2020-03-21 stsp # refs/hoo/boo/zoo is missing because it is outside of refs/heads
825 db6d8ad8 2020-03-21 stsp echo "refs/tags/1.0: $tag_id" >> $testroot/stdout.expected
827 db6d8ad8 2020-03-21 stsp cmp -s $testroot/stdout $testroot/stdout.expected
829 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
830 db6d8ad8 2020-03-21 stsp diff -u $testroot/stdout.expected $testroot/stdout
831 db6d8ad8 2020-03-21 stsp test_done "$testroot" "$ret"
835 db6d8ad8 2020-03-21 stsp got fetch -r $testroot/repo-clone 2> $testroot/stderr | \
836 db6d8ad8 2020-03-21 stsp tail -n 1 > $testroot/stdout
838 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
839 db6d8ad8 2020-03-21 stsp echo "got fetch command failed unexpectedly" >&2
840 db6d8ad8 2020-03-21 stsp test_done "$testroot" "$ret"
844 db6d8ad8 2020-03-21 stsp echo "Rejecting update of existing tag refs/tags/1.0: $tag_id2" \
845 db6d8ad8 2020-03-21 stsp > $testroot/stdout.expected
847 db6d8ad8 2020-03-21 stsp cmp -s $testroot/stdout $testroot/stdout.expected
849 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
850 db6d8ad8 2020-03-21 stsp diff -u $testroot/stdout.expected $testroot/stdout
851 db6d8ad8 2020-03-21 stsp test_done "$testroot" "$ret"
855 db6d8ad8 2020-03-21 stsp got ref -l -r $testroot/repo-clone > $testroot/stdout
857 db6d8ad8 2020-03-21 stsp echo "HEAD: refs/heads/master" > $testroot/stdout.expected
858 db6d8ad8 2020-03-21 stsp echo "refs/heads/foo: $commit_id" >> $testroot/stdout.expected
859 db6d8ad8 2020-03-21 stsp echo "refs/heads/master: $commit_id" >> $testroot/stdout.expected
860 f298ae0f 2020-03-25 stsp echo "refs/remotes/origin/HEAD: refs/remotes/origin/master" \
861 f298ae0f 2020-03-25 stsp >> $testroot/stdout.expected
862 db6d8ad8 2020-03-21 stsp echo "refs/remotes/origin/foo: $commit_id" >> $testroot/stdout.expected
863 db6d8ad8 2020-03-21 stsp echo "refs/remotes/origin/master: $commit_id2" \
864 db6d8ad8 2020-03-21 stsp >> $testroot/stdout.expected
865 db6d8ad8 2020-03-21 stsp # refs/hoo/boo/zoo is missing because it is outside of refs/heads
866 db6d8ad8 2020-03-21 stsp echo "refs/tags/1.0: $tag_id" >> $testroot/stdout.expected
868 db6d8ad8 2020-03-21 stsp cmp -s $testroot/stdout $testroot/stdout.expected
870 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
871 db6d8ad8 2020-03-21 stsp diff -u $testroot/stdout.expected $testroot/stdout
872 db6d8ad8 2020-03-21 stsp test_done "$testroot" "$ret"
876 db6d8ad8 2020-03-21 stsp got fetch -q -t -r $testroot/repo-clone > $testroot/stdout
878 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
879 db6d8ad8 2020-03-21 stsp echo "got fetch command failed unexpectedly" >&2
880 db6d8ad8 2020-03-21 stsp test_done "$testroot" "$ret"
884 db6d8ad8 2020-03-21 stsp echo -n > $testroot/stdout.expected
886 db6d8ad8 2020-03-21 stsp cmp -s $testroot/stdout $testroot/stdout.expected
888 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
889 db6d8ad8 2020-03-21 stsp diff -u $testroot/stdout.expected $testroot/stdout
890 db6d8ad8 2020-03-21 stsp test_done "$testroot" "$ret"
894 db6d8ad8 2020-03-21 stsp got ref -l -r $testroot/repo-clone > $testroot/stdout
896 db6d8ad8 2020-03-21 stsp echo "HEAD: refs/heads/master" > $testroot/stdout.expected
897 db6d8ad8 2020-03-21 stsp echo "refs/heads/foo: $commit_id" >> $testroot/stdout.expected
898 db6d8ad8 2020-03-21 stsp echo "refs/heads/master: $commit_id" >> $testroot/stdout.expected
899 f298ae0f 2020-03-25 stsp echo "refs/remotes/origin/HEAD: refs/remotes/origin/master" \
900 f298ae0f 2020-03-25 stsp >> $testroot/stdout.expected
901 db6d8ad8 2020-03-21 stsp echo "refs/remotes/origin/foo: $commit_id" >> $testroot/stdout.expected
902 db6d8ad8 2020-03-21 stsp echo "refs/remotes/origin/master: $commit_id2" \
903 db6d8ad8 2020-03-21 stsp >> $testroot/stdout.expected
904 db6d8ad8 2020-03-21 stsp # refs/hoo/boo/zoo is missing because it is outside of refs/heads
905 db6d8ad8 2020-03-21 stsp echo "refs/tags/1.0: $tag_id2" >> $testroot/stdout.expected
907 db6d8ad8 2020-03-21 stsp cmp -s $testroot/stdout $testroot/stdout.expected
909 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
910 db6d8ad8 2020-03-21 stsp diff -u $testroot/stdout.expected $testroot/stdout
912 db6d8ad8 2020-03-21 stsp test_done "$testroot" "$ret"
915 f6cae3ed 2020-09-13 naddy test_fetch_reference() {
916 0e4002ca 2020-03-21 stsp local testroot=`test_init fetch_reference`
917 0e4002ca 2020-03-21 stsp local testurl=ssh://127.0.0.1/$testroot
918 0e4002ca 2020-03-21 stsp local commit_id=`git_show_head $testroot/repo`
920 0e4002ca 2020-03-21 stsp got clone -q $testurl/repo $testroot/repo-clone
922 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
923 0e4002ca 2020-03-21 stsp echo "got clone command failed unexpectedly" >&2
924 0e4002ca 2020-03-21 stsp test_done "$testroot" "$ret"
928 0e4002ca 2020-03-21 stsp got branch -r $testroot/repo -c $commit_id foo
929 e31abbf2 2020-03-22 stsp got ref -r $testroot/repo -c $commit_id refs/hoo/boo/zoo
930 0e4002ca 2020-03-21 stsp got tag -r $testroot/repo -c $commit_id -m tag "1.0" >/dev/null
931 0e4002ca 2020-03-21 stsp local tag_id=`got ref -r $testroot/repo -l \
932 0e4002ca 2020-03-21 stsp | grep "^refs/tags/$tag" | tr -d ' ' | cut -d: -f2`
934 0e4002ca 2020-03-21 stsp echo "modified alpha on master" > $testroot/repo/alpha
935 0e4002ca 2020-03-21 stsp git_commit $testroot/repo -m "modified alpha"
936 0e4002ca 2020-03-21 stsp local commit_id2=`git_show_head $testroot/repo`
938 0e4002ca 2020-03-21 stsp (cd $testroot/repo && git checkout -q foo)
939 0e4002ca 2020-03-21 stsp echo "modified alpha on foo" > $testroot/repo/alpha
940 0e4002ca 2020-03-21 stsp git_commit $testroot/repo -m "modified alpha"
941 0e4002ca 2020-03-21 stsp local commit_id3=`git_show_head $testroot/repo`
942 0e4002ca 2020-03-21 stsp (cd $testroot/repo && git checkout -q master)
944 0e4002ca 2020-03-21 stsp got fetch -q -r $testroot/repo-clone -R refs/remotes/origin/main \
945 0e4002ca 2020-03-21 stsp > $testroot/stdout 2> $testroot/stderr
947 49c543a6 2022-03-31 naddy if [ $ret -eq 0 ]; then
948 0e4002ca 2020-03-21 stsp echo "got fetch command succeeded unexpectedly" >&2
949 ecdc3b49 2020-03-21 stsp test_done "$testroot" "1"
953 0e4002ca 2020-03-21 stsp echo -n > $testroot/stdout.expected
955 0e4002ca 2020-03-21 stsp cmp -s $testroot/stdout $testroot/stdout.expected
957 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
958 0e4002ca 2020-03-21 stsp diff -u $testroot/stdout.expected $testroot/stdout
959 0e4002ca 2020-03-21 stsp test_done "$testroot" "$ret"
963 0e4002ca 2020-03-21 stsp echo "got: refs/remotes/origin/main: reference cannot be fetched" \
964 0e4002ca 2020-03-21 stsp > $testroot/stderr.expected
966 0e4002ca 2020-03-21 stsp cmp -s $testroot/stderr $testroot/stderr.expected
968 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
969 0e4002ca 2020-03-21 stsp diff -u $testroot/stderr.expected $testroot/stderr
970 0e4002ca 2020-03-21 stsp test_done "$testroot" "$ret"
974 0e4002ca 2020-03-21 stsp got fetch -q -r $testroot/repo-clone -R refs/hoo
976 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
977 0e4002ca 2020-03-21 stsp echo "got fetch command failed unexpectedly" >&2
978 0e4002ca 2020-03-21 stsp test_done "$testroot" "$ret"
982 0e4002ca 2020-03-21 stsp got ref -l -r $testroot/repo-clone > $testroot/stdout
984 0e4002ca 2020-03-21 stsp echo "HEAD: refs/heads/master" > $testroot/stdout.expected
985 0e4002ca 2020-03-21 stsp echo "refs/heads/master: $commit_id" >> $testroot/stdout.expected
986 f298ae0f 2020-03-25 stsp echo "refs/remotes/origin/HEAD: refs/remotes/origin/master" \
987 f298ae0f 2020-03-25 stsp >> $testroot/stdout.expected
988 0e4002ca 2020-03-21 stsp echo "refs/remotes/origin/hoo/boo/zoo: $commit_id" \
989 0e4002ca 2020-03-21 stsp >> $testroot/stdout.expected
990 0e4002ca 2020-03-21 stsp echo "refs/remotes/origin/master: $commit_id2" \
991 0e4002ca 2020-03-21 stsp >> $testroot/stdout.expected
992 0e4002ca 2020-03-21 stsp echo "refs/tags/1.0: $tag_id" >> $testroot/stdout.expected
994 e8a967e0 2020-03-21 stsp cmp -s $testroot/stdout $testroot/stdout.expected
996 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
997 e8a967e0 2020-03-21 stsp diff -u $testroot/stdout.expected $testroot/stdout
999 e8a967e0 2020-03-21 stsp test_done "$testroot" "$ret"
1003 f6cae3ed 2020-09-13 naddy test_fetch_replace_symref() {
1004 e8a967e0 2020-03-21 stsp local testroot=`test_init fetch_replace_symref`
1005 e8a967e0 2020-03-21 stsp local testurl=ssh://127.0.0.1/$testroot
1006 e8a967e0 2020-03-21 stsp local commit_id=`git_show_head $testroot/repo`
1008 e8a967e0 2020-03-21 stsp got clone -m -q $testurl/repo $testroot/repo-clone
1010 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
1011 e8a967e0 2020-03-21 stsp echo "got clone command failed unexpectedly" >&2
1012 e8a967e0 2020-03-21 stsp test_done "$testroot" "$ret"
1016 e31abbf2 2020-03-22 stsp got ref -r $testroot/repo -c $commit_id refs/hoo/boo/zoo
1017 e31abbf2 2020-03-22 stsp got ref -r $testroot/repo-clone -s refs/heads/master refs/hoo/boo/zoo
1019 e8a967e0 2020-03-21 stsp got ref -l -r $testroot/repo-clone > $testroot/stdout
1021 e8a967e0 2020-03-21 stsp echo "HEAD: refs/heads/master" > $testroot/stdout.expected
1022 e8a967e0 2020-03-21 stsp echo "refs/heads/master: $commit_id" >> $testroot/stdout.expected
1023 e8a967e0 2020-03-21 stsp echo "refs/hoo/boo/zoo: refs/heads/master" >> $testroot/stdout.expected
1025 e8a967e0 2020-03-21 stsp cmp -s $testroot/stdout $testroot/stdout.expected
1027 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
1028 e8a967e0 2020-03-21 stsp diff -u $testroot/stdout.expected $testroot/stdout
1029 e8a967e0 2020-03-21 stsp test_done "$testroot" "$ret"
1033 e8a967e0 2020-03-21 stsp got fetch -r $testroot/repo-clone -R refs/hoo \
1034 e8a967e0 2020-03-21 stsp 2> $testroot/stderr | grep ^Replacing > $testroot/stdout
1036 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
1037 e8a967e0 2020-03-21 stsp echo "got fetch command failed unexpectedly" >&2
1038 e8a967e0 2020-03-21 stsp test_done "$testroot" "$ret"
1042 e8a967e0 2020-03-21 stsp echo "Replacing reference refs/hoo/boo/zoo: refs/heads/master" \
1043 e8a967e0 2020-03-21 stsp > $testroot/stdout.expected
1045 0e4002ca 2020-03-21 stsp cmp -s $testroot/stdout $testroot/stdout.expected
1047 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
1048 0e4002ca 2020-03-21 stsp diff -u $testroot/stdout.expected $testroot/stdout
1049 e8a967e0 2020-03-21 stsp test_done "$testroot" "$ret"
1053 e8a967e0 2020-03-21 stsp got ref -l -r $testroot/repo-clone > $testroot/stdout
1055 e8a967e0 2020-03-21 stsp echo "HEAD: refs/heads/master" > $testroot/stdout.expected
1056 e8a967e0 2020-03-21 stsp echo "refs/heads/master: $commit_id" >> $testroot/stdout.expected
1057 e8a967e0 2020-03-21 stsp echo "refs/hoo/boo/zoo: $commit_id" >> $testroot/stdout.expected
1059 f1bcca34 2020-03-25 stsp cmp -s $testroot/stdout $testroot/stdout.expected
1061 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
1062 f1bcca34 2020-03-25 stsp diff -u $testroot/stdout.expected $testroot/stdout
1064 f1bcca34 2020-03-25 stsp test_done "$testroot" "$ret"
1068 f6cae3ed 2020-09-13 naddy test_fetch_update_headref() {
1069 f1bcca34 2020-03-25 stsp local testroot=`test_init fetch_update_headref`
1070 f1bcca34 2020-03-25 stsp local testurl=ssh://127.0.0.1/$testroot
1071 f1bcca34 2020-03-25 stsp local commit_id=`git_show_head $testroot/repo`
1073 f1bcca34 2020-03-25 stsp got clone -q $testurl/repo $testroot/repo-clone
1075 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
1076 f1bcca34 2020-03-25 stsp echo "got clone command failed unexpectedly" >&2
1077 f1bcca34 2020-03-25 stsp test_done "$testroot" "$ret"
1081 f1bcca34 2020-03-25 stsp got ref -l -r $testroot/repo-clone > $testroot/stdout
1083 f1bcca34 2020-03-25 stsp echo "HEAD: refs/heads/master" > $testroot/stdout.expected
1084 f1bcca34 2020-03-25 stsp echo "refs/heads/master: $commit_id" >> $testroot/stdout.expected
1085 f1bcca34 2020-03-25 stsp echo "refs/remotes/origin/HEAD: refs/remotes/origin/master" \
1086 f1bcca34 2020-03-25 stsp >> $testroot/stdout.expected
1087 f1bcca34 2020-03-25 stsp echo "refs/remotes/origin/master: $commit_id" \
1088 f1bcca34 2020-03-25 stsp >> $testroot/stdout.expected
1090 f1bcca34 2020-03-25 stsp cmp -s $testroot/stdout $testroot/stdout.expected
1092 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
1093 f1bcca34 2020-03-25 stsp diff -u $testroot/stdout.expected $testroot/stdout
1094 f1bcca34 2020-03-25 stsp test_done "$testroot" "$ret"
1098 f1bcca34 2020-03-25 stsp got ref -r $testroot/repo -c refs/heads/master refs/heads/foo
1099 f1bcca34 2020-03-25 stsp got ref -r $testroot/repo -s refs/heads/foo HEAD
1100 f1bcca34 2020-03-25 stsp got ref -l -r $testroot/repo > $testroot/stdout
1102 f1bcca34 2020-03-25 stsp echo "HEAD: refs/heads/foo" > $testroot/stdout.expected
1103 f1bcca34 2020-03-25 stsp echo "refs/heads/foo: $commit_id" >> $testroot/stdout.expected
1104 f1bcca34 2020-03-25 stsp echo "refs/heads/master: $commit_id" >> $testroot/stdout.expected
1106 e8a967e0 2020-03-21 stsp cmp -s $testroot/stdout $testroot/stdout.expected
1108 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
1109 e8a967e0 2020-03-21 stsp diff -u $testroot/stdout.expected $testroot/stdout
1110 f1bcca34 2020-03-25 stsp test_done "$testroot" "$ret"
1114 f1bcca34 2020-03-25 stsp got fetch -q -r $testroot/repo-clone
1116 f1bcca34 2020-03-25 stsp got ref -l -r $testroot/repo-clone > $testroot/stdout
1118 f1bcca34 2020-03-25 stsp echo "HEAD: refs/heads/master" > $testroot/stdout.expected
1119 bf1c78e5 2023-02-18 mark echo "refs/heads/foo: $commit_id" >> $testroot/stdout.expected
1120 4bff57b4 2023-02-14 stsp echo "refs/heads/master: $commit_id" >> $testroot/stdout.expected
1121 bf1c78e5 2023-02-18 mark echo "refs/remotes/origin/HEAD: refs/remotes/origin/foo" \
1122 15d3c221 2021-01-05 stsp >> $testroot/stdout.expected
1123 bf1c78e5 2023-02-18 mark echo "refs/remotes/origin/foo: $commit_id" \
1124 bf1c78e5 2023-02-18 mark >> $testroot/stdout.expected
1125 15d3c221 2021-01-05 stsp echo "refs/remotes/origin/master: $commit_id" \
1126 15d3c221 2021-01-05 stsp >> $testroot/stdout.expected
1128 15d3c221 2021-01-05 stsp cmp -s $testroot/stdout $testroot/stdout.expected
1130 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
1131 15d3c221 2021-01-05 stsp diff -u $testroot/stdout.expected $testroot/stdout
1132 15d3c221 2021-01-05 stsp test_done "$testroot" "$ret"
1136 15d3c221 2021-01-05 stsp got fetch -q -r $testroot/repo-clone -a
1138 15d3c221 2021-01-05 stsp got ref -l -r $testroot/repo-clone > $testroot/stdout
1140 15d3c221 2021-01-05 stsp echo "HEAD: refs/heads/master" > $testroot/stdout.expected
1141 f1bcca34 2020-03-25 stsp echo "refs/heads/foo: $commit_id" >> $testroot/stdout.expected
1142 f1bcca34 2020-03-25 stsp echo "refs/heads/master: $commit_id" >> $testroot/stdout.expected
1143 f1bcca34 2020-03-25 stsp echo "refs/remotes/origin/HEAD: refs/remotes/origin/foo" \
1144 f1bcca34 2020-03-25 stsp >> $testroot/stdout.expected
1145 f1bcca34 2020-03-25 stsp echo "refs/remotes/origin/foo: $commit_id" \
1146 f1bcca34 2020-03-25 stsp >> $testroot/stdout.expected
1147 f1bcca34 2020-03-25 stsp echo "refs/remotes/origin/master: $commit_id" \
1148 f1bcca34 2020-03-25 stsp >> $testroot/stdout.expected
1150 f1bcca34 2020-03-25 stsp cmp -s $testroot/stdout $testroot/stdout.expected
1152 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
1153 f1bcca34 2020-03-25 stsp diff -u $testroot/stdout.expected $testroot/stdout
1155 0e4002ca 2020-03-21 stsp test_done "$testroot" "$ret"
1158 f6cae3ed 2020-09-13 naddy test_fetch_headref_deleted_locally() {
1159 bcf34b0e 2020-03-26 stsp local testroot=`test_init fetch_headref_deleted_locally`
1160 bcf34b0e 2020-03-26 stsp local testurl=ssh://127.0.0.1/$testroot
1161 bcf34b0e 2020-03-26 stsp local commit_id=`git_show_head $testroot/repo`
1163 bcf34b0e 2020-03-26 stsp got clone -q $testurl/repo $testroot/repo-clone
1165 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
1166 bcf34b0e 2020-03-26 stsp echo "got clone command failed unexpectedly" >&2
1167 bcf34b0e 2020-03-26 stsp test_done "$testroot" "$ret"
1171 bcf34b0e 2020-03-26 stsp got ref -l -r $testroot/repo-clone > $testroot/stdout
1173 bcf34b0e 2020-03-26 stsp echo "HEAD: refs/heads/master" > $testroot/stdout.expected
1174 bcf34b0e 2020-03-26 stsp echo "refs/heads/master: $commit_id" >> $testroot/stdout.expected
1175 bcf34b0e 2020-03-26 stsp echo "refs/remotes/origin/HEAD: refs/remotes/origin/master" \
1176 bcf34b0e 2020-03-26 stsp >> $testroot/stdout.expected
1177 bcf34b0e 2020-03-26 stsp echo "refs/remotes/origin/master: $commit_id" \
1178 bcf34b0e 2020-03-26 stsp >> $testroot/stdout.expected
1180 bcf34b0e 2020-03-26 stsp cmp -s $testroot/stdout $testroot/stdout.expected
1182 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
1183 bcf34b0e 2020-03-26 stsp diff -u $testroot/stdout.expected $testroot/stdout
1184 bcf34b0e 2020-03-26 stsp test_done "$testroot" "$ret"
1188 993f033b 2021-07-16 stsp got ref -r $testroot/repo-clone -d refs/remotes/origin/HEAD > /dev/null
1190 bcf34b0e 2020-03-26 stsp got fetch -q -r $testroot/repo-clone
1192 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
1193 bcf34b0e 2020-03-26 stsp echo "got fetch command failed unexpectedly" >&2
1194 bcf34b0e 2020-03-26 stsp test_done "$testroot" "$ret"
1197 bcf34b0e 2020-03-26 stsp got ref -l -r $testroot/repo-clone > $testroot/stdout
1199 bcf34b0e 2020-03-26 stsp echo "HEAD: refs/heads/master" > $testroot/stdout.expected
1200 bcf34b0e 2020-03-26 stsp echo "refs/heads/master: $commit_id" >> $testroot/stdout.expected
1201 bcf34b0e 2020-03-26 stsp # refs/remotes/origin/HEAD has been restored:
1202 bcf34b0e 2020-03-26 stsp echo "refs/remotes/origin/HEAD: refs/remotes/origin/master" \
1203 bcf34b0e 2020-03-26 stsp >> $testroot/stdout.expected
1204 bcf34b0e 2020-03-26 stsp echo "refs/remotes/origin/master: $commit_id" \
1205 bcf34b0e 2020-03-26 stsp >> $testroot/stdout.expected
1207 50b0790e 2020-09-11 stsp cmp -s $testroot/stdout $testroot/stdout.expected
1209 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
1210 50b0790e 2020-09-11 stsp diff -u $testroot/stdout.expected $testroot/stdout
1212 50b0790e 2020-09-11 stsp test_done "$testroot" "$ret"
1215 f6cae3ed 2020-09-13 naddy test_fetch_gotconfig_remote_repo() {
1216 50b0790e 2020-09-11 stsp local testroot=`test_init fetch_gotconfig_remote_repo`
1217 50b0790e 2020-09-11 stsp local testurl=ssh://127.0.0.1/$testroot
1218 50b0790e 2020-09-11 stsp local commit_id=`git_show_head $testroot/repo`
1220 50b0790e 2020-09-11 stsp got branch -r $testroot/repo -c $commit_id foo
1221 50b0790e 2020-09-11 stsp got ref -r $testroot/repo -c $commit_id refs/hoo/boo/zoo
1222 50b0790e 2020-09-11 stsp got tag -r $testroot/repo -c $commit_id -m tag "1.0" >/dev/null
1224 50b0790e 2020-09-11 stsp got clone -q $testurl/repo $testroot/repo-clone
1226 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
1227 50b0790e 2020-09-11 stsp echo "got clone command failed unexpectedly" >&2
1228 50b0790e 2020-09-11 stsp test_done "$testroot" "$ret"
1232 50b0790e 2020-09-11 stsp cat > $testroot/repo-clone/got.conf <<EOF
1233 50b0790e 2020-09-11 stsp remote "foobar" {
1234 50b0790e 2020-09-11 stsp protocol ssh
1235 50b0790e 2020-09-11 stsp server 127.0.0.1
1236 50b0790e 2020-09-11 stsp repository "$testroot/repo"
1239 50b0790e 2020-09-11 stsp remote "barbaz" {
1240 50b0790e 2020-09-11 stsp protocol ssh
1241 50b0790e 2020-09-11 stsp server 127.0.0.1
1242 50b0790e 2020-09-11 stsp repository "$testroot/does-not-exist"
1245 54eb00d5 2020-10-20 stsp echo "got: nonexistent: remote repository not found" \
1246 54eb00d5 2020-10-20 stsp > $testroot/stderr.expected
1247 612392ee 2021-01-05 stsp (cd $testroot/repo-clone && got fetch -q nonexistent \
1248 54eb00d5 2020-10-20 stsp > $testroot/stdout 2> $testroot/stderr)
1250 49c543a6 2022-03-31 naddy if [ $ret -eq 0 ]; then
1251 54eb00d5 2020-10-20 stsp echo "got fetch command succeeded unexpectedly" >&2
1252 54eb00d5 2020-10-20 stsp diff -u $testroot/stderr.expected $testroot/stderr
1253 54eb00d5 2020-10-20 stsp test_done "$testroot" "1"
1257 612392ee 2021-01-05 stsp (cd $testroot/repo-clone && got fetch -q -l foobar \
1258 50b0790e 2020-09-11 stsp > $testroot/stdout)
1260 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
1261 50b0790e 2020-09-11 stsp echo "got fetch command failed unexpectedly" >&2
1262 50b0790e 2020-09-11 stsp test_done "$testroot" "$ret"
1266 612392ee 2021-01-05 stsp got ref -l -r $testroot/repo > $testroot/stdout.expected
1268 bcf34b0e 2020-03-26 stsp cmp -s $testroot/stdout $testroot/stdout.expected
1270 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
1271 bcf34b0e 2020-03-26 stsp diff -u $testroot/stdout.expected $testroot/stdout
1272 50b0790e 2020-09-11 stsp test_done "$testroot" "$ret"
1276 50b0790e 2020-09-11 stsp got checkout $testroot/repo $testroot/wt > /dev/null
1278 50b0790e 2020-09-11 stsp cat > $testroot/wt/.got/got.conf <<EOF
1279 50b0790e 2020-09-11 stsp remote "barbaz" {
1280 50b0790e 2020-09-11 stsp protocol ssh
1281 50b0790e 2020-09-11 stsp server 127.0.0.1
1282 50b0790e 2020-09-11 stsp repository "$testroot/repo"
1285 612392ee 2021-01-05 stsp (cd $testroot/wt && got fetch -q -l barbaz > $testroot/stdout)
1287 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
1288 50b0790e 2020-09-11 stsp echo "got fetch command failed unexpectedly" >&2
1289 50b0790e 2020-09-11 stsp test_done "$testroot" "$ret"
1293 612392ee 2021-01-05 stsp got ref -l -r $testroot/repo > $testroot/stdout.expected
1295 50b0790e 2020-09-11 stsp cmp -s $testroot/stdout $testroot/stdout.expected
1297 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
1298 50b0790e 2020-09-11 stsp diff -u $testroot/stdout.expected $testroot/stdout
1299 99495ddb 2021-01-10 stsp test_done "$testroot" "$ret"
1303 99495ddb 2021-01-10 stsp cat > $testroot/repo-clone/got.conf <<EOF
1304 99495ddb 2021-01-10 stsp remote "origin" {
1305 99495ddb 2021-01-10 stsp protocol ssh
1306 99495ddb 2021-01-10 stsp server 127.0.0.1
1307 99495ddb 2021-01-10 stsp repository "$testroot/repo"
1308 99495ddb 2021-01-10 stsp branch { "foo" }
1309 99495ddb 2021-01-10 stsp reference { "hoo/boo/zoo" }
1312 99495ddb 2021-01-10 stsp (cd $testroot/repo-clone && got fetch -q > $testroot/stdout)
1314 99495ddb 2021-01-10 stsp local tag_id=`got ref -r $testroot/repo -l \
1315 99495ddb 2021-01-10 stsp | grep "^refs/tags/1.0" | tr -d ' ' | cut -d: -f2`
1316 99495ddb 2021-01-10 stsp echo "HEAD: refs/heads/master" > $testroot/stdout.expected
1317 99495ddb 2021-01-10 stsp echo "refs/heads/foo: $commit_id" >> $testroot/stdout.expected
1318 99495ddb 2021-01-10 stsp echo "refs/heads/master: $commit_id" >> $testroot/stdout.expected
1319 99495ddb 2021-01-10 stsp echo "refs/remotes/origin/HEAD: refs/remotes/origin/master" \
1320 99495ddb 2021-01-10 stsp >> $testroot/stdout.expected
1321 99495ddb 2021-01-10 stsp echo "refs/remotes/origin/foo: $commit_id" \
1322 99495ddb 2021-01-10 stsp >> $testroot/stdout.expected
1323 99495ddb 2021-01-10 stsp echo "refs/remotes/origin/hoo/boo/zoo: $commit_id" \
1324 99495ddb 2021-01-10 stsp >> $testroot/stdout.expected
1325 99495ddb 2021-01-10 stsp echo "refs/remotes/origin/master: $commit_id" \
1326 99495ddb 2021-01-10 stsp >> $testroot/stdout.expected
1327 99495ddb 2021-01-10 stsp echo "refs/tags/1.0: $tag_id" >> $testroot/stdout.expected
1329 99495ddb 2021-01-10 stsp got ref -l -r $testroot/repo-clone > $testroot/stdout
1331 99495ddb 2021-01-10 stsp cmp -s $testroot/stdout $testroot/stdout.expected
1333 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
1334 99495ddb 2021-01-10 stsp diff -u $testroot/stdout.expected $testroot/stdout
1336 99495ddb 2021-01-10 stsp test_done "$testroot" "$ret"
1339 161728eb 2021-07-24 stsp test_fetch_delete_remote_refs() {
1340 678d8c1f 2021-09-10 stsp local testroot=`test_init fetch_delete_remote_refs`
1341 161728eb 2021-07-24 stsp local testurl=ssh://127.0.0.1/$testroot
1342 161728eb 2021-07-24 stsp local commit_id=`git_show_head $testroot/repo`
1344 161728eb 2021-07-24 stsp got clone -q $testurl/repo $testroot/repo-clone
1346 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
1347 161728eb 2021-07-24 stsp echo "got clone command failed unexpectedly" >&2
1348 161728eb 2021-07-24 stsp test_done "$testroot" "$ret"
1352 161728eb 2021-07-24 stsp got ref -l -r $testroot/repo-clone > $testroot/stdout
1354 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
1355 161728eb 2021-07-24 stsp echo "got ref command failed unexpectedly" >&2
1356 161728eb 2021-07-24 stsp test_done "$testroot" "$ret"
1360 161728eb 2021-07-24 stsp echo "HEAD: refs/heads/master" > $testroot/stdout.expected
1361 161728eb 2021-07-24 stsp echo "refs/heads/master: $commit_id" >> $testroot/stdout.expected
1362 161728eb 2021-07-24 stsp echo "refs/remotes/origin/HEAD: refs/remotes/origin/master" \
1363 161728eb 2021-07-24 stsp >> $testroot/stdout.expected
1364 161728eb 2021-07-24 stsp echo "refs/remotes/origin/master: $commit_id" \
1365 161728eb 2021-07-24 stsp >> $testroot/stdout.expected
1367 161728eb 2021-07-24 stsp cmp -s $testroot/stdout $testroot/stdout.expected
1369 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
1370 161728eb 2021-07-24 stsp diff -u $testroot/stdout.expected $testroot/stdout
1371 161728eb 2021-07-24 stsp test_done "$testroot" "$ret"
1375 161728eb 2021-07-24 stsp got fetch -q -r $testroot/repo-clone -X > $testroot/stdout \
1376 161728eb 2021-07-24 stsp 2> $testroot/stderr
1378 49c543a6 2022-03-31 naddy if [ $ret -eq 0 ]; then
1379 161728eb 2021-07-24 stsp echo "got fetch command succeeded unexpectedly" >&2
1380 161728eb 2021-07-24 stsp test_done "$testroot" "$ret"
1384 161728eb 2021-07-24 stsp echo "got: -X option requires a remote name" > $testroot/stderr.expected
1385 161728eb 2021-07-24 stsp cmp -s $testroot/stderr $testroot/stderr.expected
1387 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
1388 161728eb 2021-07-24 stsp diff -u $testroot/stderr.expected $testroot/stderr
1389 161728eb 2021-07-24 stsp test_done "$testroot" "$ret"
1393 161728eb 2021-07-24 stsp got fetch -q -r $testroot/repo-clone -X origin > $testroot/stdout \
1394 161728eb 2021-07-24 stsp 2> $testroot/stderr
1396 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
1397 161728eb 2021-07-24 stsp echo "got fetch command failed unexpectedly" >&2
1398 161728eb 2021-07-24 stsp test_done "$testroot" "$ret"
1402 161728eb 2021-07-24 stsp echo -n "Deleted refs/remotes/origin/HEAD: " > $testroot/stdout.expected
1403 161728eb 2021-07-24 stsp echo "refs/remotes/origin/master" >> $testroot/stdout.expected
1404 161728eb 2021-07-24 stsp echo "Deleted refs/remotes/origin/master: $commit_id" \
1405 161728eb 2021-07-24 stsp >> $testroot/stdout.expected
1407 161728eb 2021-07-24 stsp cmp -s $testroot/stdout $testroot/stdout.expected
1409 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
1410 161728eb 2021-07-24 stsp diff -u $testroot/stdout.expected $testroot/stdout
1411 161728eb 2021-07-24 stsp test_done "$testroot" "$ret"
1415 161728eb 2021-07-24 stsp got ref -l -r $testroot/repo-clone > $testroot/stdout
1417 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
1418 161728eb 2021-07-24 stsp echo "got ref command failed unexpectedly" >&2
1419 161728eb 2021-07-24 stsp test_done "$testroot" "$ret"
1423 161728eb 2021-07-24 stsp echo "HEAD: refs/heads/master" > $testroot/stdout.expected
1424 161728eb 2021-07-24 stsp echo "refs/heads/master: $commit_id" >> $testroot/stdout.expected
1426 161728eb 2021-07-24 stsp cmp -s $testroot/stdout $testroot/stdout.expected
1428 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
1429 161728eb 2021-07-24 stsp diff -u $testroot/stdout.expected $testroot/stdout
1431 161728eb 2021-07-24 stsp test_done "$testroot" "$ret"
1434 1cb79834 2023-02-13 mark test_fetch_honor_wt_conf_bflag() {
1435 ac51614e 2023-02-15 mark local testroot=`test_init fetch_honor_wt_conf_bflag`
1436 1cb79834 2023-02-13 mark local testurl=ssh://127.0.0.1/$testroot
1438 1cb79834 2023-02-13 mark # server will have 'boo', 'hoo', and 'master'
1439 1cb79834 2023-02-13 mark echo "modified alpha on master" > $testroot/repo/alpha
1440 1cb79834 2023-02-13 mark git_commit $testroot/repo -m "modified alpha"
1441 1cb79834 2023-02-13 mark local commit_id=`git_show_head $testroot/repo`
1443 1cb79834 2023-02-13 mark got branch -r $testroot/repo -c $commit_id boo
1444 1cb79834 2023-02-13 mark (cd $testroot/repo && git checkout -q boo)
1445 1cb79834 2023-02-13 mark echo "modified beta on boo" > $testroot/repo/beta
1446 1cb79834 2023-02-13 mark git_commit $testroot/repo -m "modified beta"
1447 1cb79834 2023-02-13 mark local commit_id2=`git_show_head $testroot/repo`
1449 1cb79834 2023-02-13 mark got branch -r $testroot/repo -c $commit_id2 hoo
1450 1cb79834 2023-02-13 mark (cd $testroot/repo && git checkout -q hoo)
1451 1cb79834 2023-02-13 mark echo "modified delta on hoo" > $testroot/repo/gamma/delta
1452 1cb79834 2023-02-13 mark git_commit $testroot/repo -m "modified delta"
1453 1cb79834 2023-02-13 mark local commit_id3=`git_show_head $testroot/repo`
1455 1cb79834 2023-02-13 mark (cd $testroot/repo && git checkout -q master)
1456 1cb79834 2023-02-13 mark got clone -q $testurl/repo $testroot/repo-clone
1458 1cb79834 2023-02-13 mark if [ $ret -ne 0 ]; then
1459 1cb79834 2023-02-13 mark echo "got clone command failed unexpectedly" >&2
1460 1cb79834 2023-02-13 mark test_done "$testroot" "$ret"
1464 1cb79834 2023-02-13 mark # only clone will have foo and bar
1465 1cb79834 2023-02-13 mark got branch -r $testroot/repo-clone -c $commit_id foo
1466 1cb79834 2023-02-13 mark got branch -r $testroot/repo-clone -c $commit_id bar
1468 1cb79834 2023-02-13 mark got fetch -q -r $testroot/repo-clone > $testroot/stdout
1470 1cb79834 2023-02-13 mark if [ $ret -ne 0 ]; then
1471 1cb79834 2023-02-13 mark echo "got fetch command failed unexpectedly" >&2
1472 1cb79834 2023-02-13 mark test_done "$testroot" "$ret"
1476 1cb79834 2023-02-13 mark echo -n > $testroot/stdout.expected
1478 1cb79834 2023-02-13 mark cmp -s $testroot/stdout $testroot/stdout.expected
1480 1cb79834 2023-02-13 mark if [ $ret -ne 0 ]; then
1481 1cb79834 2023-02-13 mark diff -u $testroot/stdout.expected $testroot/stdout
1482 1cb79834 2023-02-13 mark test_done "$testroot" "$ret"
1486 1cb79834 2023-02-13 mark got ref -l -r $testroot/repo-clone > $testroot/stdout
1488 1cb79834 2023-02-13 mark echo "HEAD: refs/heads/master" > $testroot/stdout.expected
1489 1cb79834 2023-02-13 mark echo "refs/heads/bar: $commit_id" >> $testroot/stdout.expected
1490 1cb79834 2023-02-13 mark echo "refs/heads/foo: $commit_id" >> $testroot/stdout.expected
1491 1cb79834 2023-02-13 mark echo "refs/heads/master: $commit_id" >> $testroot/stdout.expected
1492 1cb79834 2023-02-13 mark echo "refs/remotes/origin/HEAD: refs/remotes/origin/master" \
1493 1cb79834 2023-02-13 mark >> $testroot/stdout.expected
1494 1cb79834 2023-02-13 mark echo "refs/remotes/origin/master: $commit_id" \
1495 1cb79834 2023-02-13 mark >> $testroot/stdout.expected
1497 1cb79834 2023-02-13 mark cmp -s $testroot/stdout $testroot/stdout.expected
1499 1cb79834 2023-02-13 mark if [ $ret -ne 0 ]; then
1500 1cb79834 2023-02-13 mark diff -u $testroot/stdout.expected $testroot/stdout
1501 1cb79834 2023-02-13 mark test_done "$testroot" "$ret"
1505 1cb79834 2023-02-13 mark (cd $testroot/repo && git checkout -q boo)
1506 bf1c78e5 2023-02-18 mark # clone has remote/origin/HEAD symref with "master" as its target
1507 bf1c78e5 2023-02-18 mark # but the repo has changed HEAD to "boo", so we should fetch "boo"
1508 bf1c78e5 2023-02-18 mark echo "HEAD: refs/heads/master" > $testroot/stdout.expected
1509 bf1c78e5 2023-02-18 mark echo "refs/heads/bar: $commit_id" >> $testroot/stdout.expected
1510 bf1c78e5 2023-02-18 mark echo "refs/heads/boo: $commit_id2" >> $testroot/stdout.expected
1511 bf1c78e5 2023-02-18 mark echo "refs/heads/foo: $commit_id" >> $testroot/stdout.expected
1512 bf1c78e5 2023-02-18 mark echo "refs/heads/master: $commit_id" >> $testroot/stdout.expected
1513 bf1c78e5 2023-02-18 mark echo "refs/remotes/origin/HEAD: refs/remotes/origin/boo" \
1514 bf1c78e5 2023-02-18 mark >> $testroot/stdout.expected
1515 bf1c78e5 2023-02-18 mark echo "refs/remotes/origin/boo: $commit_id2" \
1516 bf1c78e5 2023-02-18 mark >> $testroot/stdout.expected
1517 bf1c78e5 2023-02-18 mark echo "refs/remotes/origin/master: $commit_id" \
1518 bf1c78e5 2023-02-18 mark >> $testroot/stdout.expected
1520 bf1c78e5 2023-02-18 mark got fetch -q -r $testroot/repo-clone > $testroot/stdout
1522 1cb79834 2023-02-13 mark if [ $ret -ne 0 ]; then
1523 1cb79834 2023-02-13 mark echo "got fetch command failed unexpectedly" >&2
1524 1cb79834 2023-02-13 mark test_done "$testroot" "$ret"
1528 bf1c78e5 2023-02-18 mark got ref -l -r $testroot/repo-clone > $testroot/stdout
1530 1cb79834 2023-02-13 mark cmp -s $testroot/stdout $testroot/stdout.expected
1532 1cb79834 2023-02-13 mark if [ $ret -ne 0 ]; then
1533 1cb79834 2023-02-13 mark diff -u $testroot/stdout.expected $testroot/stdout
1534 1cb79834 2023-02-13 mark test_done "$testroot" "$ret"
1538 bf1c78e5 2023-02-18 mark # from repo: fetch -b hoo
1539 1cb79834 2023-02-13 mark got fetch -q -r $testroot/repo-clone -b hoo > $testroot/stdout
1541 1cb79834 2023-02-13 mark if [ $ret -ne 0 ]; then
1542 1cb79834 2023-02-13 mark echo "got fetch command failed unexpectedly" >&2
1543 1cb79834 2023-02-13 mark test_done "$testroot" "$ret"
1547 1cb79834 2023-02-13 mark echo -n > $testroot/stdout.expected
1549 1cb79834 2023-02-13 mark cmp -s $testroot/stdout $testroot/stdout.expected
1551 1cb79834 2023-02-13 mark if [ $ret -ne 0 ]; then
1552 1cb79834 2023-02-13 mark diff -u $testroot/stdout.expected $testroot/stdout
1553 1cb79834 2023-02-13 mark test_done "$testroot" "$ret"
1557 1cb79834 2023-02-13 mark got ref -l -r $testroot/repo-clone > $testroot/stdout
1559 1cb79834 2023-02-13 mark echo "HEAD: refs/heads/master" > $testroot/stdout.expected
1560 1cb79834 2023-02-13 mark echo "refs/heads/bar: $commit_id" >> $testroot/stdout.expected
1561 bf1c78e5 2023-02-18 mark echo "refs/heads/boo: $commit_id2" >> $testroot/stdout.expected
1562 1cb79834 2023-02-13 mark echo "refs/heads/foo: $commit_id" >> $testroot/stdout.expected
1563 1cb79834 2023-02-13 mark echo "refs/heads/hoo: $commit_id3" >> $testroot/stdout.expected
1564 1cb79834 2023-02-13 mark echo "refs/heads/master: $commit_id" >> $testroot/stdout.expected
1565 bf1c78e5 2023-02-18 mark echo "refs/remotes/origin/HEAD: refs/remotes/origin/boo" \
1566 1cb79834 2023-02-13 mark >> $testroot/stdout.expected
1567 bf1c78e5 2023-02-18 mark echo "refs/remotes/origin/boo: $commit_id2" \
1568 bf1c78e5 2023-02-18 mark >> $testroot/stdout.expected
1569 1cb79834 2023-02-13 mark echo "refs/remotes/origin/hoo: $commit_id3" \
1570 1cb79834 2023-02-13 mark >> $testroot/stdout.expected
1571 4bff57b4 2023-02-14 stsp echo "refs/remotes/origin/master: $commit_id" \
1572 1cb79834 2023-02-13 mark >> $testroot/stdout.expected
1574 1cb79834 2023-02-13 mark cmp -s $testroot/stdout $testroot/stdout.expected
1576 1cb79834 2023-02-13 mark if [ $ret -ne 0 ]; then
1577 1cb79834 2023-02-13 mark diff -u $testroot/stdout.expected $testroot/stdout
1578 1cb79834 2023-02-13 mark test_done "$testroot" "$ret"
1582 1cb79834 2023-02-13 mark # from repo: fetch -b foo which doesn't exist on the server but
1583 1cb79834 2023-02-13 mark # do not fallback to repo HEAD "boo" because we used the -b flag
1584 1cb79834 2023-02-13 mark got fetch -r $testroot/repo-clone -b foo > $testroot/stdout \
1585 1cb79834 2023-02-13 mark 2> $testroot/stderr
1587 1cb79834 2023-02-13 mark echo "Connecting to \"origin\" ssh://127.0.0.1$testroot/repo" \
1588 1cb79834 2023-02-13 mark > $testroot/stdout.expected
1589 f72ce919 2023-02-13 mark echo "got-fetch-pack: branch \"foo\" not found on server" \
1590 1cb79834 2023-02-13 mark > $testroot/stderr.expected
1591 1cb79834 2023-02-13 mark echo "got: could not find any branches to fetch" \
1592 1cb79834 2023-02-13 mark >> $testroot/stderr.expected
1594 1cb79834 2023-02-13 mark cmp -s $testroot/stdout $testroot/stdout.expected
1596 1cb79834 2023-02-13 mark if [ $ret -ne 0 ]; then
1597 1cb79834 2023-02-13 mark diff -u $testroot/stdout.expected $testroot/stdout
1598 1cb79834 2023-02-13 mark test_done "$testroot" "$ret"
1602 1cb79834 2023-02-13 mark cmp -s $testroot/stderr $testroot/stderr.expected
1604 1cb79834 2023-02-13 mark if [ $ret -ne 0 ]; then
1605 1cb79834 2023-02-13 mark diff -u $testroot/stderr.expected $testroot/stderr
1606 1cb79834 2023-02-13 mark test_done "$testroot" "$ret"
1610 4bff57b4 2023-02-14 stsp # from repo: fetch got.conf branch which doesn't exist, so fallback
1611 4bff57b4 2023-02-14 stsp # to repo HEAD "boo"
1612 1cb79834 2023-02-13 mark # change default branch in got.conf from "master" to "foo"
1613 1cb79834 2023-02-13 mark sed -i "s/master/foo/" $testroot/repo-clone/got.conf
1615 1cb79834 2023-02-13 mark got fetch -q -r $testroot/repo-clone > $testroot/stdout
1617 1cb79834 2023-02-13 mark if [ $ret -ne 0 ]; then
1618 1cb79834 2023-02-13 mark echo "got fetch command failed unexpectedly" >&2
1619 1cb79834 2023-02-13 mark test_done "$testroot" "$ret"
1623 1cb79834 2023-02-13 mark echo -n > $testroot/stdout.expected
1625 1cb79834 2023-02-13 mark cmp -s $testroot/stdout $testroot/stdout.expected
1627 1cb79834 2023-02-13 mark if [ $ret -ne 0 ]; then
1628 1cb79834 2023-02-13 mark diff -u $testroot/stdout.expected $testroot/stdout
1629 1cb79834 2023-02-13 mark test_done "$testroot" "$ret"
1633 1cb79834 2023-02-13 mark got ref -l -r $testroot/repo-clone > $testroot/stdout
1635 1cb79834 2023-02-13 mark echo "HEAD: refs/heads/master" > $testroot/stdout.expected
1636 1cb79834 2023-02-13 mark echo "refs/heads/bar: $commit_id" >> $testroot/stdout.expected
1637 1cb79834 2023-02-13 mark echo "refs/heads/boo: $commit_id2" >> $testroot/stdout.expected
1638 1cb79834 2023-02-13 mark echo "refs/heads/foo: $commit_id" >> $testroot/stdout.expected
1639 1cb79834 2023-02-13 mark echo "refs/heads/hoo: $commit_id3" >> $testroot/stdout.expected
1640 1cb79834 2023-02-13 mark echo "refs/heads/master: $commit_id" >> $testroot/stdout.expected
1641 1cb79834 2023-02-13 mark echo "refs/remotes/origin/HEAD: refs/remotes/origin/boo" \
1642 1cb79834 2023-02-13 mark >> $testroot/stdout.expected
1643 4bff57b4 2023-02-14 stsp echo "refs/remotes/origin/boo: $commit_id2" \
1644 1cb79834 2023-02-13 mark >> $testroot/stdout.expected
1645 1cb79834 2023-02-13 mark echo "refs/remotes/origin/hoo: $commit_id3" \
1646 1cb79834 2023-02-13 mark >> $testroot/stdout.expected
1647 4bff57b4 2023-02-14 stsp echo "refs/remotes/origin/master: $commit_id" \
1648 1cb79834 2023-02-13 mark >> $testroot/stdout.expected
1650 1cb79834 2023-02-13 mark cmp -s $testroot/stdout $testroot/stdout.expected
1652 1cb79834 2023-02-13 mark if [ $ret -ne 0 ]; then
1653 1cb79834 2023-02-13 mark diff -u $testroot/stdout.expected $testroot/stdout
1654 1cb79834 2023-02-13 mark test_done "$testroot" "$ret"
1658 4bff57b4 2023-02-14 stsp # from wt: fetch got.conf "foo", which doesn't exist on the server,
1659 4bff57b4 2023-02-14 stsp # and implicit wt branch "boo", not repo HEAD "master"
1660 1cb79834 2023-02-13 mark echo "modified delta on boo" > $testroot/repo/gamma/delta
1661 1cb79834 2023-02-13 mark git_commit $testroot/repo -m "modified delta"
1662 1cb79834 2023-02-13 mark local commit_id4=`git_show_head $testroot/repo`
1664 1cb79834 2023-02-13 mark (cd $testroot/repo && git checkout -q master)
1666 1cb79834 2023-02-13 mark got checkout -b boo $testroot/repo-clone $testroot/wt > /dev/null
1667 1cb79834 2023-02-13 mark (cd $testroot/wt && got fetch -q > $testroot/stdout)
1669 1cb79834 2023-02-13 mark echo -n > $testroot/stdout.expected
1671 1cb79834 2023-02-13 mark cmp -s $testroot/stdout $testroot/stdout.expected
1673 1cb79834 2023-02-13 mark if [ $ret -ne 0 ]; then
1674 1cb79834 2023-02-13 mark diff -u $testroot/stdout.expected $testroot/stdout
1675 1cb79834 2023-02-13 mark test_done "$testroot" "$ret"
1679 1cb79834 2023-02-13 mark local wt_uuid=`(cd $testroot/wt && got info | grep 'UUID:' | \
1680 1cb79834 2023-02-13 mark cut -d ':' -f 2 | tr -d ' ')`
1682 1cb79834 2023-02-13 mark got ref -l -r $testroot/repo-clone > $testroot/stdout
1684 1cb79834 2023-02-13 mark echo "HEAD: refs/heads/master" > $testroot/stdout.expected
1685 1cb79834 2023-02-13 mark echo "refs/got/worktree/base-$wt_uuid: $commit_id2" \
1686 1cb79834 2023-02-13 mark >> $testroot/stdout.expected
1687 1cb79834 2023-02-13 mark echo "refs/heads/bar: $commit_id" >> $testroot/stdout.expected
1688 1cb79834 2023-02-13 mark echo "refs/heads/boo: $commit_id2" >> $testroot/stdout.expected
1689 1cb79834 2023-02-13 mark echo "refs/heads/foo: $commit_id" >> $testroot/stdout.expected
1690 1cb79834 2023-02-13 mark echo "refs/heads/hoo: $commit_id3" >> $testroot/stdout.expected
1691 1cb79834 2023-02-13 mark echo "refs/heads/master: $commit_id" >> $testroot/stdout.expected
1692 1cb79834 2023-02-13 mark echo "refs/remotes/origin/HEAD: refs/remotes/origin/master" \
1693 1cb79834 2023-02-13 mark >> $testroot/stdout.expected
1694 1cb79834 2023-02-13 mark echo "refs/remotes/origin/boo: $commit_id4" \
1695 1cb79834 2023-02-13 mark >> $testroot/stdout.expected
1696 1cb79834 2023-02-13 mark echo "refs/remotes/origin/hoo: $commit_id3" \
1697 1cb79834 2023-02-13 mark >> $testroot/stdout.expected
1698 4bff57b4 2023-02-14 stsp echo "refs/remotes/origin/master: $commit_id" \
1699 1cb79834 2023-02-13 mark >> $testroot/stdout.expected
1701 1cb79834 2023-02-13 mark cmp -s $testroot/stdout $testroot/stdout.expected
1703 1cb79834 2023-02-13 mark if [ $ret -ne 0 ]; then
1704 1cb79834 2023-02-13 mark diff -u $testroot/stdout.expected $testroot/stdout
1705 1cb79834 2023-02-13 mark test_done "$testroot" "$ret"
1709 bf1c78e5 2023-02-18 mark # from wt: fetch got.conf "master", wt "boo", and the repo's new HEAD
1710 bf1c78e5 2023-02-18 mark # "hoo" as it no longer matches our remote HEAD symref target "master"
1711 1cb79834 2023-02-13 mark sed -i "s/foo/master/" $testroot/repo-clone/got.conf
1712 1cb79834 2023-02-13 mark echo "modified delta on master" > $testroot/repo/gamma/delta
1713 1cb79834 2023-02-13 mark git_commit $testroot/repo -m "modified delta on master"
1714 1cb79834 2023-02-13 mark local commit_id5=`git_show_head $testroot/repo`
1716 1cb79834 2023-02-13 mark (cd $testroot/repo && git checkout -q boo)
1717 1cb79834 2023-02-13 mark echo "modified alpha on boo" > $testroot/repo/alpha
1718 1cb79834 2023-02-13 mark git_commit $testroot/repo -m "modified alpha on boo"
1719 1cb79834 2023-02-13 mark local commit_id6=`git_show_head $testroot/repo`
1721 1cb79834 2023-02-13 mark (cd $testroot/repo && git checkout -q hoo)
1722 1cb79834 2023-02-13 mark echo "modified beta on hoo" > $testroot/repo/beta
1723 1cb79834 2023-02-13 mark git_commit $testroot/repo -m "modified beta on hoo"
1724 1cb79834 2023-02-13 mark local commit_id7=`git_show_head $testroot/repo`
1726 1cb79834 2023-02-13 mark (cd $testroot/wt && got fetch -q > $testroot/stdout)
1728 1cb79834 2023-02-13 mark echo -n > $testroot/stdout.expected
1730 1cb79834 2023-02-13 mark cmp -s $testroot/stdout $testroot/stdout.expected
1732 1cb79834 2023-02-13 mark if [ $ret -ne 0 ]; then
1733 1cb79834 2023-02-13 mark diff -u $testroot/stdout.expected $testroot/stdout
1734 1cb79834 2023-02-13 mark test_done "$testroot" "$ret"
1738 1cb79834 2023-02-13 mark got ref -l -r $testroot/repo-clone > $testroot/stdout
1740 1cb79834 2023-02-13 mark echo "HEAD: refs/heads/master" > $testroot/stdout.expected
1741 1cb79834 2023-02-13 mark echo "refs/got/worktree/base-$wt_uuid: $commit_id2" \
1742 1cb79834 2023-02-13 mark >> $testroot/stdout.expected
1743 1cb79834 2023-02-13 mark echo "refs/heads/bar: $commit_id" >> $testroot/stdout.expected
1744 1cb79834 2023-02-13 mark echo "refs/heads/boo: $commit_id2" >> $testroot/stdout.expected
1745 1cb79834 2023-02-13 mark echo "refs/heads/foo: $commit_id" >> $testroot/stdout.expected
1746 1cb79834 2023-02-13 mark echo "refs/heads/hoo: $commit_id3" >> $testroot/stdout.expected
1747 1cb79834 2023-02-13 mark echo "refs/heads/master: $commit_id" >> $testroot/stdout.expected
1748 1cb79834 2023-02-13 mark echo "refs/remotes/origin/HEAD: refs/remotes/origin/hoo" \
1749 1cb79834 2023-02-13 mark >> $testroot/stdout.expected
1750 1cb79834 2023-02-13 mark echo "refs/remotes/origin/boo: $commit_id6" \
1751 1cb79834 2023-02-13 mark >> $testroot/stdout.expected
1752 bf1c78e5 2023-02-18 mark echo "refs/remotes/origin/hoo: $commit_id7" \
1753 1cb79834 2023-02-13 mark >> $testroot/stdout.expected
1754 1cb79834 2023-02-13 mark echo "refs/remotes/origin/master: $commit_id5" \
1755 1cb79834 2023-02-13 mark >> $testroot/stdout.expected
1757 1cb79834 2023-02-13 mark cmp -s $testroot/stdout $testroot/stdout.expected
1759 1cb79834 2023-02-13 mark if [ $ret -ne 0 ]; then
1760 1cb79834 2023-02-13 mark diff -u $testroot/stdout.expected $testroot/stdout
1761 1cb79834 2023-02-13 mark test_done "$testroot" "$ret"
1765 1cb79834 2023-02-13 mark # from wt: fetch -b hoo not got.conf "master" or wt "boo" or
1766 1cb79834 2023-02-13 mark # repo HEAD "boo"
1767 1cb79834 2023-02-13 mark (cd $testroot/repo && git checkout -q boo)
1768 1cb79834 2023-02-13 mark echo "modified alpha again on boo" > $testroot/repo/alpha
1769 1cb79834 2023-02-13 mark git_commit $testroot/repo -m "modified alpha again on boo"
1770 1cb79834 2023-02-13 mark local commit_id8=`git_show_head $testroot/repo`
1772 1cb79834 2023-02-13 mark (cd $testroot/wt && got fetch -q -b hoo > $testroot/stdout)
1774 1cb79834 2023-02-13 mark echo -n > $testroot/stdout.expected
1776 1cb79834 2023-02-13 mark cmp -s $testroot/stdout $testroot/stdout.expected
1778 1cb79834 2023-02-13 mark if [ $ret -ne 0 ]; then
1779 1cb79834 2023-02-13 mark diff -u $testroot/stdout.expected $testroot/stdout
1780 1cb79834 2023-02-13 mark test_done "$testroot" "$ret"
1784 1cb79834 2023-02-13 mark got ref -l -r $testroot/repo-clone > $testroot/stdout
1786 1cb79834 2023-02-13 mark echo "HEAD: refs/heads/master" > $testroot/stdout.expected
1787 1cb79834 2023-02-13 mark echo "refs/got/worktree/base-$wt_uuid: $commit_id2" \
1788 1cb79834 2023-02-13 mark >> $testroot/stdout.expected
1789 1cb79834 2023-02-13 mark echo "refs/heads/bar: $commit_id" >> $testroot/stdout.expected
1790 1cb79834 2023-02-13 mark echo "refs/heads/boo: $commit_id2" >> $testroot/stdout.expected
1791 1cb79834 2023-02-13 mark echo "refs/heads/foo: $commit_id" >> $testroot/stdout.expected
1792 1cb79834 2023-02-13 mark echo "refs/heads/hoo: $commit_id3" >> $testroot/stdout.expected
1793 1cb79834 2023-02-13 mark echo "refs/heads/master: $commit_id" >> $testroot/stdout.expected
1794 1cb79834 2023-02-13 mark echo "refs/remotes/origin/HEAD: refs/remotes/origin/boo" \
1795 1cb79834 2023-02-13 mark >> $testroot/stdout.expected
1796 1cb79834 2023-02-13 mark echo "refs/remotes/origin/boo: $commit_id6" \
1797 1cb79834 2023-02-13 mark >> $testroot/stdout.expected
1798 4bff57b4 2023-02-14 stsp echo "refs/remotes/origin/hoo: $commit_id7" \
1799 1cb79834 2023-02-13 mark >> $testroot/stdout.expected
1800 1cb79834 2023-02-13 mark echo "refs/remotes/origin/master: $commit_id5" \
1801 1cb79834 2023-02-13 mark >> $testroot/stdout.expected
1803 1cb79834 2023-02-13 mark cmp -s $testroot/stdout $testroot/stdout.expected
1805 1cb79834 2023-02-13 mark if [ $ret -ne 0 ]; then
1806 1cb79834 2023-02-13 mark diff -u $testroot/stdout.expected $testroot/stdout
1807 1cb79834 2023-02-13 mark test_done "$testroot" "$ret"
1811 1cb79834 2023-02-13 mark # from wt: fetch -b bar that doesn't exist on the server but
1812 1cb79834 2023-02-13 mark # do not fetch got.conf "master" or wt "boo" or repo HEAD "boo"
1813 1cb79834 2023-02-13 mark (cd $testroot/wt && got fetch -b bar > $testroot/stdout \
1814 1cb79834 2023-02-13 mark 2> $testroot/stderr)
1816 1cb79834 2023-02-13 mark echo "Connecting to \"origin\" ssh://127.0.0.1$testroot/repo" \
1817 1cb79834 2023-02-13 mark > $testroot/stdout.expected
1818 f72ce919 2023-02-13 mark echo "got-fetch-pack: branch \"bar\" not found on server" \
1819 1cb79834 2023-02-13 mark > $testroot/stderr.expected
1820 1cb79834 2023-02-13 mark echo "got: could not find any branches to fetch" \
1821 1cb79834 2023-02-13 mark >> $testroot/stderr.expected
1823 1cb79834 2023-02-13 mark cmp -s $testroot/stderr $testroot/stderr.expected
1825 1cb79834 2023-02-13 mark if [ $ret -ne 0 ]; then
1826 1cb79834 2023-02-13 mark diff -u $testroot/stderr.expected $testroot/stderr
1827 1cb79834 2023-02-13 mark test_done "$testroot" "$ret"
1831 1cb79834 2023-02-13 mark cmp -s $testroot/stdout $testroot/stdout.expected
1833 1cb79834 2023-02-13 mark if [ $ret -ne 0 ]; then
1834 1cb79834 2023-02-13 mark diff -u $testroot/stdout.expected $testroot/stdout
1836 1cb79834 2023-02-13 mark test_done "$testroot" "$ret"
1839 1a0d06a3 2023-02-20 stsp test_fetch_from_out_of_date_remote() {
1840 1a0d06a3 2023-02-20 stsp local testroot=`test_init fetch_from_out_of_date_remote`
1841 1a0d06a3 2023-02-20 stsp local testurl=ssh://127.0.0.1/$testroot
1842 1a0d06a3 2023-02-20 stsp local commit_id=`git_show_head $testroot/repo`
1844 1a0d06a3 2023-02-20 stsp got clone -q $testurl/repo $testroot/repo-clone
1846 1a0d06a3 2023-02-20 stsp if [ $ret -ne 0 ]; then
1847 1a0d06a3 2023-02-20 stsp echo "got clone command failed unexpectedly" >&2
1848 1a0d06a3 2023-02-20 stsp test_done "$testroot" "$ret"
1852 1a0d06a3 2023-02-20 stsp echo "modified alpha" > $testroot/repo/alpha
1853 1a0d06a3 2023-02-20 stsp git_commit $testroot/repo -m "modified alpha"
1854 1a0d06a3 2023-02-20 stsp local commit_id2=`git_show_head $testroot/repo`
1856 1a0d06a3 2023-02-20 stsp got clone -q $testurl/repo $testroot/repo-clone2 \
1857 1a0d06a3 2023-02-20 stsp > $testroot/stdout 2> $testroot/stderr
1859 1a0d06a3 2023-02-20 stsp if [ $ret -ne 0 ]; then
1860 1a0d06a3 2023-02-20 stsp echo "got clone command failed unexpectedly" >&2
1861 1a0d06a3 2023-02-20 stsp test_done "$testroot" "$ret"
1865 1a0d06a3 2023-02-20 stsp got ref -l -r $testroot/repo-clone2 > $testroot/stdout
1867 1a0d06a3 2023-02-20 stsp if [ $ret -ne 0 ]; then
1868 1a0d06a3 2023-02-20 stsp echo "got ref command failed unexpectedly" >&2
1869 1a0d06a3 2023-02-20 stsp test_done "$testroot" "$ret"
1873 1a0d06a3 2023-02-20 stsp cat > $testroot/stdout.expected <<EOF
1874 1a0d06a3 2023-02-20 stsp HEAD: refs/heads/master
1875 1a0d06a3 2023-02-20 stsp refs/heads/master: $commit_id2
1876 1a0d06a3 2023-02-20 stsp refs/remotes/origin/HEAD: refs/remotes/origin/master
1877 1a0d06a3 2023-02-20 stsp refs/remotes/origin/master: $commit_id2
1879 1a0d06a3 2023-02-20 stsp cmp -s $testroot/stdout $testroot/stdout.expected
1881 1a0d06a3 2023-02-20 stsp if [ $ret -ne 0 ]; then
1882 1a0d06a3 2023-02-20 stsp diff -u $testroot/stdout.expected $testroot/stdout
1883 1a0d06a3 2023-02-20 stsp test_done "$testroot" "$ret"
1887 1a0d06a3 2023-02-20 stsp cat >> $testroot/repo-clone2/got.conf <<EOF
1888 1a0d06a3 2023-02-20 stsp remote "other" {
1889 1a0d06a3 2023-02-20 stsp server "127.0.0.1"
1890 1a0d06a3 2023-02-20 stsp protocol ssh
1891 1a0d06a3 2023-02-20 stsp repository "$testroot/repo-clone"
1892 1a0d06a3 2023-02-20 stsp branch { "master" }
1895 1a0d06a3 2023-02-20 stsp got fetch -q -r $testroot/repo-clone2 other \
1896 1a0d06a3 2023-02-20 stsp > $testroot/stdout 2> $testroot/stderr
1898 1a0d06a3 2023-02-20 stsp if [ $ret -ne 0 ]; then
1899 1a0d06a3 2023-02-20 stsp echo "got fetch command failed unexpectedly" >&2
1900 1a0d06a3 2023-02-20 stsp test_done "$testroot" "$ret"
1904 1a0d06a3 2023-02-20 stsp got ref -l -r $testroot/repo-clone2 > $testroot/stdout
1906 1a0d06a3 2023-02-20 stsp if [ $ret -ne 0 ]; then
1907 1a0d06a3 2023-02-20 stsp echo "got ref command failed unexpectedly" >&2
1908 1a0d06a3 2023-02-20 stsp test_done "$testroot" "$ret"
1912 1a0d06a3 2023-02-20 stsp cat > $testroot/stdout.expected <<EOF
1913 1a0d06a3 2023-02-20 stsp HEAD: refs/heads/master
1914 1a0d06a3 2023-02-20 stsp refs/heads/master: $commit_id2
1915 1a0d06a3 2023-02-20 stsp refs/remotes/origin/HEAD: refs/remotes/origin/master
1916 1a0d06a3 2023-02-20 stsp refs/remotes/origin/master: $commit_id2
1917 1a0d06a3 2023-02-20 stsp refs/remotes/other/HEAD: refs/remotes/other/master
1918 1a0d06a3 2023-02-20 stsp refs/remotes/other/master: $commit_id
1920 1a0d06a3 2023-02-20 stsp cmp -s $testroot/stdout $testroot/stdout.expected
1922 1a0d06a3 2023-02-20 stsp if [ $ret -ne 0 ]; then
1923 1a0d06a3 2023-02-20 stsp diff -u $testroot/stdout.expected $testroot/stdout
1925 1a0d06a3 2023-02-20 stsp test_done "$testroot" "$ret"
1929 7fb414ae 2020-08-08 stsp test_parseargs "$@"
1930 c8c71e6e 2020-03-21 stsp run_test test_fetch_basic
1931 c8c71e6e 2020-03-21 stsp run_test test_fetch_list
1932 c8c71e6e 2020-03-21 stsp run_test test_fetch_branch
1933 c8c71e6e 2020-03-21 stsp run_test test_fetch_all
1934 c8c71e6e 2020-03-21 stsp run_test test_fetch_empty_packfile
1935 c8c71e6e 2020-03-21 stsp run_test test_fetch_delete_branch
1936 1b796c3f 2021-09-11 stsp run_test test_fetch_delete_branch_mirror
1937 db6d8ad8 2020-03-21 stsp run_test test_fetch_update_tag
1938 0e4002ca 2020-03-21 stsp run_test test_fetch_reference
1939 e8a967e0 2020-03-21 stsp run_test test_fetch_replace_symref
1940 f1bcca34 2020-03-25 stsp run_test test_fetch_update_headref
1941 bcf34b0e 2020-03-26 stsp run_test test_fetch_headref_deleted_locally
1942 50b0790e 2020-09-11 stsp run_test test_fetch_gotconfig_remote_repo
1943 161728eb 2021-07-24 stsp run_test test_fetch_delete_remote_refs
1944 1cb79834 2023-02-13 mark run_test test_fetch_honor_wt_conf_bflag
1945 1a0d06a3 2023-02-20 stsp run_test test_fetch_from_out_of_date_remote