3 ad493afc 2019-08-03 stsp # Copyright (c) 2019 Stefan Sperling <stsp@openbsd.org>
5 ad493afc 2019-08-03 stsp # Permission to use, copy, modify, and distribute this software for any
6 ad493afc 2019-08-03 stsp # purpose with or without fee is hereby granted, provided that the above
7 ad493afc 2019-08-03 stsp # copyright notice and this permission notice appear in all copies.
9 ad493afc 2019-08-03 stsp # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10 ad493afc 2019-08-03 stsp # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11 ad493afc 2019-08-03 stsp # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12 ad493afc 2019-08-03 stsp # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13 ad493afc 2019-08-03 stsp # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14 ad493afc 2019-08-03 stsp # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15 ad493afc 2019-08-03 stsp # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
17 ad493afc 2019-08-03 stsp . ./common.sh
19 f6cae3ed 2020-09-13 naddy test_unstage_basic() {
20 ad493afc 2019-08-03 stsp local testroot=`test_init unstage_basic`
22 ad493afc 2019-08-03 stsp got checkout $testroot/repo $testroot/wt > /dev/null
24 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
25 ad493afc 2019-08-03 stsp test_done "$testroot" "$ret"
29 ad493afc 2019-08-03 stsp echo "modified file" > $testroot/wt/alpha
30 ad493afc 2019-08-03 stsp (cd $testroot/wt && got rm beta > /dev/null)
31 ad493afc 2019-08-03 stsp echo "new file" > $testroot/wt/foo
32 ad493afc 2019-08-03 stsp (cd $testroot/wt && got add foo > /dev/null)
34 ad493afc 2019-08-03 stsp echo ' M alpha' > $testroot/stdout.expected
35 ad493afc 2019-08-03 stsp echo ' D beta' >> $testroot/stdout.expected
36 ad493afc 2019-08-03 stsp echo ' A foo' >> $testroot/stdout.expected
37 ad493afc 2019-08-03 stsp (cd $testroot/wt && got stage alpha beta foo > /dev/null)
39 ad493afc 2019-08-03 stsp (cd $testroot/wt && got unstage > $testroot/stdout)
41 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
42 57ba6a8b 2019-08-08 stsp echo "got unstage command failed unexpectedly" >&2
43 ad493afc 2019-08-03 stsp test_done "$testroot" "1"
47 ad493afc 2019-08-03 stsp echo 'G alpha' > $testroot/stdout.expected
48 ad493afc 2019-08-03 stsp echo 'D beta' >> $testroot/stdout.expected
49 ad493afc 2019-08-03 stsp echo 'G foo' >> $testroot/stdout.expected
50 ad493afc 2019-08-03 stsp cmp -s $testroot/stdout.expected $testroot/stdout
52 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
53 ad493afc 2019-08-03 stsp diff -u $testroot/stdout.expected $testroot/stdout
54 ad493afc 2019-08-03 stsp test_done "$testroot" "$ret"
58 ad493afc 2019-08-03 stsp echo 'M alpha' > $testroot/stdout.expected
59 ad493afc 2019-08-03 stsp echo 'D beta' >> $testroot/stdout.expected
60 ad493afc 2019-08-03 stsp echo 'A foo' >> $testroot/stdout.expected
61 2e1f37b0 2019-08-08 stsp (cd $testroot/wt && got status > $testroot/stdout)
62 2e1f37b0 2019-08-08 stsp cmp -s $testroot/stdout.expected $testroot/stdout
64 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
65 2e1f37b0 2019-08-08 stsp diff -u $testroot/stdout.expected $testroot/stdout
67 2e1f37b0 2019-08-08 stsp test_done "$testroot" "$ret"
70 f6cae3ed 2020-09-13 naddy test_unstage_unversioned() {
71 8b13ce36 2019-08-08 stsp local testroot=`test_init unstage_unversioned`
73 8b13ce36 2019-08-08 stsp got checkout $testroot/repo $testroot/wt > /dev/null
75 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
76 8b13ce36 2019-08-08 stsp test_done "$testroot" "$ret"
80 8b13ce36 2019-08-08 stsp echo "modified file" > $testroot/wt/alpha
81 8b13ce36 2019-08-08 stsp (cd $testroot/wt && got rm beta > /dev/null)
82 8b13ce36 2019-08-08 stsp echo "new file" > $testroot/wt/foo
83 8b13ce36 2019-08-08 stsp (cd $testroot/wt && got add foo > /dev/null)
85 8b13ce36 2019-08-08 stsp echo ' M alpha' > $testroot/stdout.expected
86 8b13ce36 2019-08-08 stsp echo ' D beta' >> $testroot/stdout.expected
87 8b13ce36 2019-08-08 stsp echo ' A foo' >> $testroot/stdout.expected
88 8b13ce36 2019-08-08 stsp (cd $testroot/wt && got stage > /dev/null)
90 8b13ce36 2019-08-08 stsp touch $testroot/wt/unversioned-file
92 8b13ce36 2019-08-08 stsp (cd $testroot/wt && got status > $testroot/stdout)
93 8b13ce36 2019-08-08 stsp echo ' M alpha' > $testroot/stdout.expected
94 8b13ce36 2019-08-08 stsp echo ' D beta' >> $testroot/stdout.expected
95 8b13ce36 2019-08-08 stsp echo ' A foo' >> $testroot/stdout.expected
96 8b13ce36 2019-08-08 stsp echo "? unversioned-file" >> $testroot/stdout.expected
97 8b13ce36 2019-08-08 stsp cmp -s $testroot/stdout.expected $testroot/stdout
99 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
100 8b13ce36 2019-08-08 stsp diff -u $testroot/stdout.expected $testroot/stdout
101 8b13ce36 2019-08-08 stsp test_done "$testroot" "$ret"
105 8b13ce36 2019-08-08 stsp (cd $testroot/wt && got unstage > $testroot/stdout)
107 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
108 8b13ce36 2019-08-08 stsp echo "got unstage command failed unexpectedly" >&2
109 8b13ce36 2019-08-08 stsp test_done "$testroot" "1"
113 8b13ce36 2019-08-08 stsp echo 'G alpha' > $testroot/stdout.expected
114 8b13ce36 2019-08-08 stsp echo 'D beta' >> $testroot/stdout.expected
115 8b13ce36 2019-08-08 stsp echo 'G foo' >> $testroot/stdout.expected
116 8b13ce36 2019-08-08 stsp cmp -s $testroot/stdout.expected $testroot/stdout
118 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
119 8b13ce36 2019-08-08 stsp diff -u $testroot/stdout.expected $testroot/stdout
120 8b13ce36 2019-08-08 stsp test_done "$testroot" "$ret"
124 8b13ce36 2019-08-08 stsp (cd $testroot/wt && got stage > /dev/null)
126 8b13ce36 2019-08-08 stsp # unstaging an unversioned path is a no-op
127 8b13ce36 2019-08-08 stsp (cd $testroot/wt && got unstage unversioned > $testroot/stdout)
129 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
130 8b13ce36 2019-08-08 stsp echo "got unstage command failed unexpectedly" >&2
131 8b13ce36 2019-08-08 stsp test_done "$testroot" "$ret"
135 8b13ce36 2019-08-08 stsp echo ' M alpha' > $testroot/stdout.expected
136 8b13ce36 2019-08-08 stsp echo ' D beta' >> $testroot/stdout.expected
137 8b13ce36 2019-08-08 stsp echo ' A foo' >> $testroot/stdout.expected
138 8b13ce36 2019-08-08 stsp echo "? unversioned-file" >> $testroot/stdout.expected
139 8b13ce36 2019-08-08 stsp (cd $testroot/wt && got status > $testroot/stdout)
140 8b13ce36 2019-08-08 stsp cmp -s $testroot/stdout.expected $testroot/stdout
142 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
143 8b13ce36 2019-08-08 stsp diff -u $testroot/stdout.expected $testroot/stdout
145 8b13ce36 2019-08-08 stsp test_done "$testroot" "$ret"
148 f6cae3ed 2020-09-13 naddy test_unstage_nonexistent() {
149 8564cb21 2019-08-08 stsp local testroot=`test_init unstage_nonexistent`
151 8564cb21 2019-08-08 stsp got checkout $testroot/repo $testroot/wt > /dev/null
153 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
154 8564cb21 2019-08-08 stsp test_done "$testroot" "$ret"
158 8564cb21 2019-08-08 stsp echo "modified file" > $testroot/wt/alpha
159 8564cb21 2019-08-08 stsp (cd $testroot/wt && got rm beta > /dev/null)
160 8564cb21 2019-08-08 stsp echo "new file" > $testroot/wt/foo
161 8564cb21 2019-08-08 stsp (cd $testroot/wt && got add foo > /dev/null)
163 8564cb21 2019-08-08 stsp echo ' M alpha' > $testroot/stdout.expected
164 8564cb21 2019-08-08 stsp echo ' D beta' >> $testroot/stdout.expected
165 8564cb21 2019-08-08 stsp echo ' A foo' >> $testroot/stdout.expected
166 8564cb21 2019-08-08 stsp (cd $testroot/wt && got stage > /dev/null)
168 8564cb21 2019-08-08 stsp # unstaging a non-existent file is a no-op
169 8564cb21 2019-08-08 stsp (cd $testroot/wt && got unstage nonexistent-file > $testroot/stdout)
171 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
172 8564cb21 2019-08-08 stsp echo "got unstage command failed unexpectedly" >&2
173 8564cb21 2019-08-08 stsp test_done "$testroot" "1"
177 8564cb21 2019-08-08 stsp echo -n > $testroot/stdout.expected
178 8564cb21 2019-08-08 stsp cmp -s $testroot/stdout.expected $testroot/stdout
180 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
181 8564cb21 2019-08-08 stsp diff -u $testroot/stdout.expected $testroot/stdout
183 8564cb21 2019-08-08 stsp test_done "$testroot" "$ret"
186 f6cae3ed 2020-09-13 naddy test_unstage_patch() {
187 2e1f37b0 2019-08-08 stsp local testroot=`test_init unstage_patch`
189 2e1f37b0 2019-08-08 stsp jot 16 > $testroot/repo/numbers
190 2e1f37b0 2019-08-08 stsp (cd $testroot/repo && git add numbers)
191 2e1f37b0 2019-08-08 stsp git_commit $testroot/repo -m "added numbers file"
192 2e1f37b0 2019-08-08 stsp local commit_id=`git_show_head $testroot/repo`
194 2e1f37b0 2019-08-08 stsp got checkout $testroot/repo $testroot/wt > /dev/null
196 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
197 2e1f37b0 2019-08-08 stsp test_done "$testroot" "$ret"
201 885e96df 2023-03-06 naddy ed -s $testroot/wt/numbers <<-\EOF
204 885e96df 2023-03-06 naddy ,s/^16$/c/
208 2e1f37b0 2019-08-08 stsp (cd $testroot/wt && got stage > /dev/null)
210 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
211 2e1f37b0 2019-08-08 stsp echo "got stage command failed unexpectedly" >&2
212 2e1f37b0 2019-08-08 stsp test_done "$testroot" "1"
216 2e1f37b0 2019-08-08 stsp # don't unstage any hunks
217 2e1f37b0 2019-08-08 stsp printf "n\nn\nn\n" > $testroot/patchscript
218 2e1f37b0 2019-08-08 stsp (cd $testroot/wt && got unstage -F $testroot/patchscript -p \
219 2e1f37b0 2019-08-08 stsp numbers > $testroot/stdout)
221 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
222 57ba6a8b 2019-08-08 stsp echo "got unstage command failed unexpectedly" >&2
223 2e1f37b0 2019-08-08 stsp test_done "$testroot" "1"
226 2e1f37b0 2019-08-08 stsp cat > $testroot/stdout.expected <<EOF
227 2e1f37b0 2019-08-08 stsp -----------------------------------------------
228 2e1f37b0 2019-08-08 stsp @@ -1,5 +1,5 @@
235 2e1f37b0 2019-08-08 stsp -----------------------------------------------
236 2e1f37b0 2019-08-08 stsp M numbers (change 1 of 3)
237 2e1f37b0 2019-08-08 stsp unstage this change? [y/n/q] n
238 2e1f37b0 2019-08-08 stsp -----------------------------------------------
239 2e1f37b0 2019-08-08 stsp @@ -4,7 +4,7 @@
248 2e1f37b0 2019-08-08 stsp -----------------------------------------------
249 2e1f37b0 2019-08-08 stsp M numbers (change 2 of 3)
250 2e1f37b0 2019-08-08 stsp unstage this change? [y/n/q] n
251 2e1f37b0 2019-08-08 stsp -----------------------------------------------
252 2e1f37b0 2019-08-08 stsp @@ -13,4 +13,4 @@
258 2e1f37b0 2019-08-08 stsp -----------------------------------------------
259 2e1f37b0 2019-08-08 stsp M numbers (change 3 of 3)
260 2e1f37b0 2019-08-08 stsp unstage this change? [y/n/q] n
262 2e1f37b0 2019-08-08 stsp cmp -s $testroot/stdout.expected $testroot/stdout
264 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
265 2e1f37b0 2019-08-08 stsp diff -u $testroot/stdout.expected $testroot/stdout
266 2e1f37b0 2019-08-08 stsp test_done "$testroot" "$ret"
270 2e1f37b0 2019-08-08 stsp (cd $testroot/wt && got status > $testroot/stdout)
271 2e1f37b0 2019-08-08 stsp echo " M numbers" > $testroot/stdout.expected
272 2e1f37b0 2019-08-08 stsp cmp -s $testroot/stdout.expected $testroot/stdout
274 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
275 2e1f37b0 2019-08-08 stsp diff -u $testroot/stdout.expected $testroot/stdout
276 2e1f37b0 2019-08-08 stsp test_done "$testroot" "$ret"
280 2e1f37b0 2019-08-08 stsp # unstage middle hunk
281 2e1f37b0 2019-08-08 stsp printf "n\ny\nn\n" > $testroot/patchscript
282 2e1f37b0 2019-08-08 stsp (cd $testroot/wt && got unstage -F $testroot/patchscript -p \
283 2e1f37b0 2019-08-08 stsp numbers > $testroot/stdout)
285 2e1f37b0 2019-08-08 stsp cat > $testroot/stdout.expected <<EOF
286 2e1f37b0 2019-08-08 stsp -----------------------------------------------
287 2e1f37b0 2019-08-08 stsp @@ -1,5 +1,5 @@
294 2e1f37b0 2019-08-08 stsp -----------------------------------------------
295 2e1f37b0 2019-08-08 stsp M numbers (change 1 of 3)
296 2e1f37b0 2019-08-08 stsp unstage this change? [y/n/q] n
297 2e1f37b0 2019-08-08 stsp -----------------------------------------------
298 2e1f37b0 2019-08-08 stsp @@ -4,7 +4,7 @@
307 2e1f37b0 2019-08-08 stsp -----------------------------------------------
308 2e1f37b0 2019-08-08 stsp M numbers (change 2 of 3)
309 2e1f37b0 2019-08-08 stsp unstage this change? [y/n/q] y
310 2e1f37b0 2019-08-08 stsp -----------------------------------------------
311 2e1f37b0 2019-08-08 stsp @@ -13,4 +13,4 @@
317 2e1f37b0 2019-08-08 stsp -----------------------------------------------
318 2e1f37b0 2019-08-08 stsp M numbers (change 3 of 3)
319 2e1f37b0 2019-08-08 stsp unstage this change? [y/n/q] n
322 2e1f37b0 2019-08-08 stsp cmp -s $testroot/stdout.expected $testroot/stdout
324 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
325 2e1f37b0 2019-08-08 stsp diff -u $testroot/stdout.expected $testroot/stdout
326 2e1f37b0 2019-08-08 stsp test_done "$testroot" "$ret"
330 2e1f37b0 2019-08-08 stsp (cd $testroot/wt && got status > $testroot/stdout)
331 2e1f37b0 2019-08-08 stsp echo "MM numbers" > $testroot/stdout.expected
332 2e1f37b0 2019-08-08 stsp cmp -s $testroot/stdout.expected $testroot/stdout
334 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
335 2e1f37b0 2019-08-08 stsp diff -u $testroot/stdout.expected $testroot/stdout
336 2e1f37b0 2019-08-08 stsp test_done "$testroot" "$ret"
340 2e1f37b0 2019-08-08 stsp (cd $testroot/wt && got diff -s > $testroot/stdout)
342 8469d821 2022-06-25 stsp echo "diff -s $testroot/wt" > $testroot/stdout.expected
343 8469d821 2022-06-25 stsp echo "commit - $commit_id" >> $testroot/stdout.expected
344 8469d821 2022-06-25 stsp echo "path + $testroot/wt (staged changes)" >> $testroot/stdout.expected
345 2e1f37b0 2019-08-08 stsp echo -n 'blob - ' >> $testroot/stdout.expected
346 2e1f37b0 2019-08-08 stsp got tree -r $testroot/repo -i -c $commit_id \
347 2e1f37b0 2019-08-08 stsp | grep 'numbers$' | cut -d' ' -f 1 \
348 2e1f37b0 2019-08-08 stsp >> $testroot/stdout.expected
349 2e1f37b0 2019-08-08 stsp echo -n 'blob + ' >> $testroot/stdout.expected
350 2e1f37b0 2019-08-08 stsp (cd $testroot/wt && got stage -l numbers) | cut -d' ' -f 1 \
351 2e1f37b0 2019-08-08 stsp >> $testroot/stdout.expected
352 2e1f37b0 2019-08-08 stsp cat >> $testroot/stdout.expected <<EOF
353 2e1f37b0 2019-08-08 stsp --- numbers
354 2e1f37b0 2019-08-08 stsp +++ numbers
355 2e1f37b0 2019-08-08 stsp @@ -1,5 +1,5 @@
362 2e1f37b0 2019-08-08 stsp @@ -13,4 +13,4 @@
369 2e1f37b0 2019-08-08 stsp cmp -s $testroot/stdout.expected $testroot/stdout
371 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
372 2e1f37b0 2019-08-08 stsp diff -u $testroot/stdout.expected $testroot/stdout
373 2e1f37b0 2019-08-08 stsp test_done "$testroot" "$ret"
377 2e1f37b0 2019-08-08 stsp (cd $testroot/wt && got diff > $testroot/stdout)
378 8469d821 2022-06-25 stsp echo "diff $testroot/wt" > $testroot/stdout.expected
379 8469d821 2022-06-25 stsp echo "commit - $commit_id" >> $testroot/stdout.expected
380 8469d821 2022-06-25 stsp echo "path + $testroot/wt" >> $testroot/stdout.expected
381 2e1f37b0 2019-08-08 stsp echo -n 'blob - ' >> $testroot/stdout.expected
382 4ce46740 2019-08-08 stsp (cd $testroot/wt && got stage -l numbers) | cut -d' ' -f 1 | \
383 4ce46740 2019-08-08 stsp tr -d '\n' >> $testroot/stdout.expected
384 4ce46740 2019-08-08 stsp echo " (staged)" >> $testroot/stdout.expected
385 2e1f37b0 2019-08-08 stsp echo "file + numbers" >> $testroot/stdout.expected
386 2e1f37b0 2019-08-08 stsp cat >> $testroot/stdout.expected <<EOF
387 2e1f37b0 2019-08-08 stsp --- numbers
388 2e1f37b0 2019-08-08 stsp +++ numbers
389 2e1f37b0 2019-08-08 stsp @@ -4,7 +4,7 @@ a
399 2e1f37b0 2019-08-08 stsp cmp -s $testroot/stdout.expected $testroot/stdout
401 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
402 2e1f37b0 2019-08-08 stsp diff -u $testroot/stdout.expected $testroot/stdout
403 2e1f37b0 2019-08-08 stsp test_done "$testroot" "$ret"
407 2e1f37b0 2019-08-08 stsp (cd $testroot/wt && got stage >/dev/null)
409 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
410 2e1f37b0 2019-08-08 stsp echo "got stage command failed unexpectedly" >&2
411 2e1f37b0 2019-08-08 stsp test_done "$testroot" "1"
415 2e1f37b0 2019-08-08 stsp (cd $testroot/wt && got status > $testroot/stdout)
416 2e1f37b0 2019-08-08 stsp echo " M numbers" > $testroot/stdout.expected
417 2e1f37b0 2019-08-08 stsp cmp -s $testroot/stdout.expected $testroot/stdout
419 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
420 2e1f37b0 2019-08-08 stsp diff -u $testroot/stdout.expected $testroot/stdout
421 2e1f37b0 2019-08-08 stsp test_done "$testroot" "$ret"
425 2e1f37b0 2019-08-08 stsp # unstage last hunk
426 2e1f37b0 2019-08-08 stsp printf "n\nn\ny\n" > $testroot/patchscript
427 2e1f37b0 2019-08-08 stsp (cd $testroot/wt && got unstage -F $testroot/patchscript -p \
428 2e1f37b0 2019-08-08 stsp numbers > $testroot/stdout)
430 2e1f37b0 2019-08-08 stsp cat > $testroot/stdout.expected <<EOF
431 2e1f37b0 2019-08-08 stsp -----------------------------------------------
432 2e1f37b0 2019-08-08 stsp @@ -1,5 +1,5 @@
439 2e1f37b0 2019-08-08 stsp -----------------------------------------------
440 2e1f37b0 2019-08-08 stsp M numbers (change 1 of 3)
441 2e1f37b0 2019-08-08 stsp unstage this change? [y/n/q] n
442 2e1f37b0 2019-08-08 stsp -----------------------------------------------
443 2e1f37b0 2019-08-08 stsp @@ -4,7 +4,7 @@
452 2e1f37b0 2019-08-08 stsp -----------------------------------------------
453 2e1f37b0 2019-08-08 stsp M numbers (change 2 of 3)
454 2e1f37b0 2019-08-08 stsp unstage this change? [y/n/q] n
455 2e1f37b0 2019-08-08 stsp -----------------------------------------------
456 2e1f37b0 2019-08-08 stsp @@ -13,4 +13,4 @@
462 2e1f37b0 2019-08-08 stsp -----------------------------------------------
463 2e1f37b0 2019-08-08 stsp M numbers (change 3 of 3)
464 2e1f37b0 2019-08-08 stsp unstage this change? [y/n/q] y
467 2e1f37b0 2019-08-08 stsp cmp -s $testroot/stdout.expected $testroot/stdout
469 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
470 2e1f37b0 2019-08-08 stsp diff -u $testroot/stdout.expected $testroot/stdout
471 2e1f37b0 2019-08-08 stsp test_done "$testroot" "$ret"
475 2e1f37b0 2019-08-08 stsp (cd $testroot/wt && got status > $testroot/stdout)
476 2e1f37b0 2019-08-08 stsp echo "MM numbers" > $testroot/stdout.expected
477 2e1f37b0 2019-08-08 stsp cmp -s $testroot/stdout.expected $testroot/stdout
479 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
480 2e1f37b0 2019-08-08 stsp diff -u $testroot/stdout.expected $testroot/stdout
481 2e1f37b0 2019-08-08 stsp test_done "$testroot" "$ret"
485 2e1f37b0 2019-08-08 stsp (cd $testroot/wt && got diff -s > $testroot/stdout)
487 8469d821 2022-06-25 stsp echo "diff -s $testroot/wt" > $testroot/stdout.expected
488 8469d821 2022-06-25 stsp echo "commit - $commit_id" >> $testroot/stdout.expected
489 8469d821 2022-06-25 stsp echo "path + $testroot/wt (staged changes)" >> $testroot/stdout.expected
490 2e1f37b0 2019-08-08 stsp echo -n 'blob - ' >> $testroot/stdout.expected
491 2e1f37b0 2019-08-08 stsp got tree -r $testroot/repo -i -c $commit_id \
492 2e1f37b0 2019-08-08 stsp | grep 'numbers$' | cut -d' ' -f 1 \
493 2e1f37b0 2019-08-08 stsp >> $testroot/stdout.expected
494 2e1f37b0 2019-08-08 stsp echo -n 'blob + ' >> $testroot/stdout.expected
495 2e1f37b0 2019-08-08 stsp (cd $testroot/wt && got stage -l numbers) | cut -d' ' -f 1 \
496 2e1f37b0 2019-08-08 stsp >> $testroot/stdout.expected
497 2e1f37b0 2019-08-08 stsp cat >> $testroot/stdout.expected <<EOF
498 2e1f37b0 2019-08-08 stsp --- numbers
499 2e1f37b0 2019-08-08 stsp +++ numbers
500 2e1f37b0 2019-08-08 stsp @@ -1,10 +1,10 @@
514 2e1f37b0 2019-08-08 stsp cmp -s $testroot/stdout.expected $testroot/stdout
516 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
517 2e1f37b0 2019-08-08 stsp diff -u $testroot/stdout.expected $testroot/stdout
518 2e1f37b0 2019-08-08 stsp test_done "$testroot" "$ret"
522 2e1f37b0 2019-08-08 stsp (cd $testroot/wt && got diff > $testroot/stdout)
523 8469d821 2022-06-25 stsp echo "diff $testroot/wt" > $testroot/stdout.expected
524 8469d821 2022-06-25 stsp echo "commit - $commit_id" >> $testroot/stdout.expected
525 8469d821 2022-06-25 stsp echo "path + $testroot/wt" >> $testroot/stdout.expected
526 2e1f37b0 2019-08-08 stsp echo -n 'blob - ' >> $testroot/stdout.expected
527 4ce46740 2019-08-08 stsp (cd $testroot/wt && got stage -l numbers) | cut -d' ' -f 1 | \
528 4ce46740 2019-08-08 stsp tr -d '\n' >> $testroot/stdout.expected
529 4ce46740 2019-08-08 stsp echo " (staged)" >> $testroot/stdout.expected
530 2e1f37b0 2019-08-08 stsp echo "file + numbers" >> $testroot/stdout.expected
531 2e1f37b0 2019-08-08 stsp cat >> $testroot/stdout.expected <<EOF
532 2e1f37b0 2019-08-08 stsp --- numbers
533 2e1f37b0 2019-08-08 stsp +++ numbers
534 2e1f37b0 2019-08-08 stsp @@ -13,4 +13,4 @@ b
541 2e1f37b0 2019-08-08 stsp cmp -s $testroot/stdout.expected $testroot/stdout
543 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
544 2e1f37b0 2019-08-08 stsp diff -u $testroot/stdout.expected $testroot/stdout
545 2e1f37b0 2019-08-08 stsp test_done "$testroot" "$ret"
549 2e1f37b0 2019-08-08 stsp (cd $testroot/wt && got stage >/dev/null)
551 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
552 2e1f37b0 2019-08-08 stsp echo "got stage command failed unexpectedly" >&2
553 2e1f37b0 2019-08-08 stsp test_done "$testroot" "1"
557 ad493afc 2019-08-03 stsp (cd $testroot/wt && got status > $testroot/stdout)
558 2e1f37b0 2019-08-08 stsp echo " M numbers" > $testroot/stdout.expected
559 ad493afc 2019-08-03 stsp cmp -s $testroot/stdout.expected $testroot/stdout
561 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
562 ad493afc 2019-08-03 stsp diff -u $testroot/stdout.expected $testroot/stdout
563 2e1f37b0 2019-08-08 stsp test_done "$testroot" "$ret"
567 2e1f37b0 2019-08-08 stsp # unstage all hunks
568 2e1f37b0 2019-08-08 stsp printf "y\ny\ny\n" > $testroot/patchscript
569 2e1f37b0 2019-08-08 stsp (cd $testroot/wt && got unstage -F $testroot/patchscript -p \
570 2e1f37b0 2019-08-08 stsp numbers > $testroot/stdout)
572 2e1f37b0 2019-08-08 stsp cat > $testroot/stdout.expected <<EOF
573 2e1f37b0 2019-08-08 stsp -----------------------------------------------
574 2e1f37b0 2019-08-08 stsp @@ -1,5 +1,5 @@
581 2e1f37b0 2019-08-08 stsp -----------------------------------------------
582 2e1f37b0 2019-08-08 stsp M numbers (change 1 of 3)
583 2e1f37b0 2019-08-08 stsp unstage this change? [y/n/q] y
584 2e1f37b0 2019-08-08 stsp -----------------------------------------------
585 2e1f37b0 2019-08-08 stsp @@ -4,7 +4,7 @@
594 2e1f37b0 2019-08-08 stsp -----------------------------------------------
595 2e1f37b0 2019-08-08 stsp M numbers (change 2 of 3)
596 2e1f37b0 2019-08-08 stsp unstage this change? [y/n/q] y
597 2e1f37b0 2019-08-08 stsp -----------------------------------------------
598 2e1f37b0 2019-08-08 stsp @@ -13,4 +13,4 @@
604 2e1f37b0 2019-08-08 stsp -----------------------------------------------
605 2e1f37b0 2019-08-08 stsp M numbers (change 3 of 3)
606 2e1f37b0 2019-08-08 stsp unstage this change? [y/n/q] y
609 2e1f37b0 2019-08-08 stsp cmp -s $testroot/stdout.expected $testroot/stdout
611 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
612 2e1f37b0 2019-08-08 stsp diff -u $testroot/stdout.expected $testroot/stdout
613 2e1f37b0 2019-08-08 stsp test_done "$testroot" "$ret"
617 2e1f37b0 2019-08-08 stsp (cd $testroot/wt && got status > $testroot/stdout)
618 2e1f37b0 2019-08-08 stsp echo "M numbers" > $testroot/stdout.expected
619 2e1f37b0 2019-08-08 stsp cmp -s $testroot/stdout.expected $testroot/stdout
621 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
622 2e1f37b0 2019-08-08 stsp diff -u $testroot/stdout.expected $testroot/stdout
623 2e1f37b0 2019-08-08 stsp test_done "$testroot" "$ret"
627 2e1f37b0 2019-08-08 stsp (cd $testroot/wt && got diff -s > $testroot/stdout)
628 2e1f37b0 2019-08-08 stsp echo -n > $testroot/stdout.expected
629 2e1f37b0 2019-08-08 stsp cmp -s $testroot/stdout.expected $testroot/stdout
631 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
632 2e1f37b0 2019-08-08 stsp diff -u $testroot/stdout.expected $testroot/stdout
633 2e1f37b0 2019-08-08 stsp test_done "$testroot" "$ret"
637 2e1f37b0 2019-08-08 stsp (cd $testroot/wt && got diff > $testroot/stdout)
639 8469d821 2022-06-25 stsp echo "diff $testroot/wt" > $testroot/stdout.expected
640 8469d821 2022-06-25 stsp echo "commit - $commit_id" >> $testroot/stdout.expected
641 8469d821 2022-06-25 stsp echo "path + $testroot/wt" >> $testroot/stdout.expected
642 2e1f37b0 2019-08-08 stsp echo -n 'blob - ' >> $testroot/stdout.expected
643 2e1f37b0 2019-08-08 stsp got tree -r $testroot/repo -i -c $commit_id \
644 2e1f37b0 2019-08-08 stsp | grep 'numbers$' | cut -d' ' -f 1 \
645 2e1f37b0 2019-08-08 stsp >> $testroot/stdout.expected
646 2e1f37b0 2019-08-08 stsp echo 'file + numbers' >> $testroot/stdout.expected
647 2e1f37b0 2019-08-08 stsp cat >> $testroot/stdout.expected <<EOF
648 2e1f37b0 2019-08-08 stsp --- numbers
649 2e1f37b0 2019-08-08 stsp +++ numbers
650 2e1f37b0 2019-08-08 stsp @@ -1,10 +1,10 @@
663 2e1f37b0 2019-08-08 stsp @@ -13,4 +13,4 @@
670 2e1f37b0 2019-08-08 stsp cmp -s $testroot/stdout.expected $testroot/stdout
672 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
673 2e1f37b0 2019-08-08 stsp diff -u $testroot/stdout.expected $testroot/stdout
675 ad493afc 2019-08-03 stsp test_done "$testroot" "$ret"
679 f6cae3ed 2020-09-13 naddy test_unstage_patch_added() {
680 2e1f37b0 2019-08-08 stsp local testroot=`test_init unstage_patch_added`
681 2e1f37b0 2019-08-08 stsp local commit_id=`git_show_head $testroot/repo`
683 2e1f37b0 2019-08-08 stsp got checkout $testroot/repo $testroot/wt > /dev/null
685 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
686 2e1f37b0 2019-08-08 stsp test_done "$testroot" "$ret"
690 2e1f37b0 2019-08-08 stsp echo "new" > $testroot/wt/epsilon/new
691 2e1f37b0 2019-08-08 stsp (cd $testroot/wt && got add epsilon/new > /dev/null)
693 2e1f37b0 2019-08-08 stsp (cd $testroot/wt && got stage > /dev/null)
695 2e1f37b0 2019-08-08 stsp printf "y\n" > $testroot/patchscript
696 2e1f37b0 2019-08-08 stsp (cd $testroot/wt && got unstage -F $testroot/patchscript -p \
697 2e1f37b0 2019-08-08 stsp epsilon/new > $testroot/stdout)
699 2e1f37b0 2019-08-08 stsp echo "A epsilon/new" > $testroot/stdout.expected
700 2e1f37b0 2019-08-08 stsp echo "unstage this addition? [y/n] y" >> $testroot/stdout.expected
701 2e1f37b0 2019-08-08 stsp echo "G epsilon/new" >> $testroot/stdout.expected
702 2e1f37b0 2019-08-08 stsp cmp -s $testroot/stdout.expected $testroot/stdout
704 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
705 2e1f37b0 2019-08-08 stsp diff -u $testroot/stdout.expected $testroot/stdout
706 2e1f37b0 2019-08-08 stsp test_done "$testroot" "$ret"
710 2e1f37b0 2019-08-08 stsp (cd $testroot/wt && got status > $testroot/stdout)
711 2e1f37b0 2019-08-08 stsp echo "A epsilon/new" > $testroot/stdout.expected
712 2e1f37b0 2019-08-08 stsp cmp -s $testroot/stdout.expected $testroot/stdout
714 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
715 2e1f37b0 2019-08-08 stsp diff -u $testroot/stdout.expected $testroot/stdout
716 2e1f37b0 2019-08-08 stsp test_done "$testroot" "$ret"
720 2e1f37b0 2019-08-08 stsp (cd $testroot/wt && got diff -s > $testroot/stdout)
721 2e1f37b0 2019-08-08 stsp echo -n > $testroot/stdout.expected
722 2e1f37b0 2019-08-08 stsp cmp -s $testroot/stdout.expected $testroot/stdout
724 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
725 2e1f37b0 2019-08-08 stsp diff -u $testroot/stdout.expected $testroot/stdout
726 2e1f37b0 2019-08-08 stsp test_done "$testroot" "$ret"
730 2e1f37b0 2019-08-08 stsp (cd $testroot/wt && got diff > $testroot/stdout)
732 8469d821 2022-06-25 stsp echo "diff $testroot/wt" > $testroot/stdout.expected
733 8469d821 2022-06-25 stsp echo "commit - $commit_id" >> $testroot/stdout.expected
734 8469d821 2022-06-25 stsp echo "path + $testroot/wt" >> $testroot/stdout.expected
735 2e1f37b0 2019-08-08 stsp echo 'blob - /dev/null' >> $testroot/stdout.expected
736 2ad87fff 2022-09-23 stsp echo 'file + epsilon/new (mode 644)' >> $testroot/stdout.expected
737 1cb46f00 2020-11-21 stsp echo "--- /dev/null" >> $testroot/stdout.expected
738 2e1f37b0 2019-08-08 stsp echo "+++ epsilon/new" >> $testroot/stdout.expected
739 2e1f37b0 2019-08-08 stsp echo "@@ -0,0 +1 @@" >> $testroot/stdout.expected
740 2e1f37b0 2019-08-08 stsp echo "+new" >> $testroot/stdout.expected
741 2e1f37b0 2019-08-08 stsp cmp -s $testroot/stdout.expected $testroot/stdout
743 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
744 2e1f37b0 2019-08-08 stsp diff -u $testroot/stdout.expected $testroot/stdout
746 2e1f37b0 2019-08-08 stsp test_done "$testroot" "$ret"
749 f6cae3ed 2020-09-13 naddy test_unstage_patch_removed() {
750 2e1f37b0 2019-08-08 stsp local testroot=`test_init unstage_patch_removed`
751 2e1f37b0 2019-08-08 stsp local commit_id=`git_show_head $testroot/repo`
753 2e1f37b0 2019-08-08 stsp got checkout $testroot/repo $testroot/wt > /dev/null
755 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
756 2e1f37b0 2019-08-08 stsp test_done "$testroot" "$ret"
760 2e1f37b0 2019-08-08 stsp (cd $testroot/wt && got rm beta > /dev/null)
761 2e1f37b0 2019-08-08 stsp (cd $testroot/wt && got stage > /dev/null)
763 2e1f37b0 2019-08-08 stsp printf "y\n" > $testroot/patchscript
764 2e1f37b0 2019-08-08 stsp (cd $testroot/wt && got unstage -F $testroot/patchscript -p \
765 2e1f37b0 2019-08-08 stsp beta > $testroot/stdout)
767 2e1f37b0 2019-08-08 stsp echo "D beta" > $testroot/stdout.expected
768 2e1f37b0 2019-08-08 stsp echo "unstage this deletion? [y/n] y" >> $testroot/stdout.expected
769 2e1f37b0 2019-08-08 stsp echo "D beta" >> $testroot/stdout.expected
770 2e1f37b0 2019-08-08 stsp cmp -s $testroot/stdout.expected $testroot/stdout
772 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
773 2e1f37b0 2019-08-08 stsp diff -u $testroot/stdout.expected $testroot/stdout
774 2e1f37b0 2019-08-08 stsp test_done "$testroot" "$ret"
778 2e1f37b0 2019-08-08 stsp (cd $testroot/wt && got status > $testroot/stdout)
779 2e1f37b0 2019-08-08 stsp echo "D beta" > $testroot/stdout.expected
780 2e1f37b0 2019-08-08 stsp cmp -s $testroot/stdout.expected $testroot/stdout
782 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
783 2e1f37b0 2019-08-08 stsp diff -u $testroot/stdout.expected $testroot/stdout
784 2e1f37b0 2019-08-08 stsp test_done "$testroot" "$ret"
788 2e1f37b0 2019-08-08 stsp (cd $testroot/wt && got diff -s > $testroot/stdout)
789 2e1f37b0 2019-08-08 stsp echo -n > $testroot/stdout.expected
790 2e1f37b0 2019-08-08 stsp cmp -s $testroot/stdout.expected $testroot/stdout
792 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
793 2e1f37b0 2019-08-08 stsp diff -u $testroot/stdout.expected $testroot/stdout
794 2e1f37b0 2019-08-08 stsp test_done "$testroot" "$ret"
798 2e1f37b0 2019-08-08 stsp (cd $testroot/wt && got diff > $testroot/stdout)
800 8469d821 2022-06-25 stsp echo "diff $testroot/wt" > $testroot/stdout.expected
801 8469d821 2022-06-25 stsp echo "commit - $commit_id" >> $testroot/stdout.expected
802 8469d821 2022-06-25 stsp echo "path + $testroot/wt" >> $testroot/stdout.expected
803 2e1f37b0 2019-08-08 stsp echo -n 'blob - ' >> $testroot/stdout.expected
804 2e1f37b0 2019-08-08 stsp got tree -r $testroot/repo -i | grep 'beta$' | cut -d' ' -f 1 \
805 2e1f37b0 2019-08-08 stsp >> $testroot/stdout.expected
806 2e1f37b0 2019-08-08 stsp echo 'file + /dev/null' >> $testroot/stdout.expected
807 2e1f37b0 2019-08-08 stsp echo "--- beta" >> $testroot/stdout.expected
808 1cb46f00 2020-11-21 stsp echo "+++ /dev/null" >> $testroot/stdout.expected
809 2e1f37b0 2019-08-08 stsp echo "@@ -1 +0,0 @@" >> $testroot/stdout.expected
810 2e1f37b0 2019-08-08 stsp echo "-beta" >> $testroot/stdout.expected
811 2e1f37b0 2019-08-08 stsp cmp -s $testroot/stdout.expected $testroot/stdout
813 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
814 2e1f37b0 2019-08-08 stsp diff -u $testroot/stdout.expected $testroot/stdout
816 2e1f37b0 2019-08-08 stsp test_done "$testroot" "$ret"
819 f6cae3ed 2020-09-13 naddy test_unstage_patch_quit() {
820 19e4b907 2019-08-08 stsp local testroot=`test_init unstage_patch_quit`
822 19e4b907 2019-08-08 stsp jot 16 > $testroot/repo/numbers
823 19e4b907 2019-08-08 stsp echo zzz > $testroot/repo/zzz
824 19e4b907 2019-08-08 stsp (cd $testroot/repo && git add numbers zzz)
825 19e4b907 2019-08-08 stsp git_commit $testroot/repo -m "added files"
826 19e4b907 2019-08-08 stsp local commit_id=`git_show_head $testroot/repo`
828 19e4b907 2019-08-08 stsp got checkout $testroot/repo $testroot/wt > /dev/null
830 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
831 19e4b907 2019-08-08 stsp test_done "$testroot" "$ret"
835 885e96df 2023-03-06 naddy ed -s $testroot/wt/numbers <<-\EOF
838 885e96df 2023-03-06 naddy ,s/^16$/c/
841 19e4b907 2019-08-08 stsp (cd $testroot/wt && got rm zzz > /dev/null)
842 19e4b907 2019-08-08 stsp (cd $testroot/wt && got stage > /dev/null)
844 19e4b907 2019-08-08 stsp # unstage first hunk and quit; and don't pass a path argument to
845 19e4b907 2019-08-08 stsp # ensure that we don't skip asking about the 'zzz' file after 'quit'
846 19e4b907 2019-08-08 stsp printf "y\nq\nn\n" > $testroot/patchscript
847 19e4b907 2019-08-08 stsp (cd $testroot/wt && got unstage -F $testroot/patchscript -p \
848 19e4b907 2019-08-08 stsp > $testroot/stdout)
850 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
851 57ba6a8b 2019-08-08 stsp echo "got unstage command failed unexpectedly" >&2
852 19e4b907 2019-08-08 stsp test_done "$testroot" "1"
855 19e4b907 2019-08-08 stsp cat > $testroot/stdout.expected <<EOF
856 19e4b907 2019-08-08 stsp -----------------------------------------------
857 19e4b907 2019-08-08 stsp @@ -1,5 +1,5 @@
864 19e4b907 2019-08-08 stsp -----------------------------------------------
865 19e4b907 2019-08-08 stsp M numbers (change 1 of 3)
866 19e4b907 2019-08-08 stsp unstage this change? [y/n/q] y
867 19e4b907 2019-08-08 stsp -----------------------------------------------
868 19e4b907 2019-08-08 stsp @@ -4,7 +4,7 @@
877 19e4b907 2019-08-08 stsp -----------------------------------------------
878 19e4b907 2019-08-08 stsp M numbers (change 2 of 3)
879 19e4b907 2019-08-08 stsp unstage this change? [y/n/q] q
882 19e4b907 2019-08-08 stsp unstage this deletion? [y/n] n
884 19e4b907 2019-08-08 stsp cmp -s $testroot/stdout.expected $testroot/stdout
886 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
887 19e4b907 2019-08-08 stsp diff -u $testroot/stdout.expected $testroot/stdout
888 19e4b907 2019-08-08 stsp test_done "$testroot" "$ret"
892 19e4b907 2019-08-08 stsp (cd $testroot/wt && got status > $testroot/stdout)
893 19e4b907 2019-08-08 stsp echo "MM numbers" > $testroot/stdout.expected
894 19e4b907 2019-08-08 stsp echo " D zzz" >> $testroot/stdout.expected
895 19e4b907 2019-08-08 stsp cmp -s $testroot/stdout.expected $testroot/stdout
897 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
898 19e4b907 2019-08-08 stsp diff -u $testroot/stdout.expected $testroot/stdout
899 19e4b907 2019-08-08 stsp test_done "$testroot" "$ret"
903 19e4b907 2019-08-08 stsp (cd $testroot/wt && got diff > $testroot/stdout)
905 8469d821 2022-06-25 stsp echo "diff $testroot/wt" > $testroot/stdout.expected
906 8469d821 2022-06-25 stsp echo "commit - $commit_id" >> $testroot/stdout.expected
907 8469d821 2022-06-25 stsp echo "path + $testroot/wt" >> $testroot/stdout.expected
908 19e4b907 2019-08-08 stsp echo -n 'blob - ' >> $testroot/stdout.expected
909 4ce46740 2019-08-08 stsp (cd $testroot/wt && got stage -l numbers) | cut -d' ' -f 1 | \
910 4ce46740 2019-08-08 stsp tr -d '\n' >> $testroot/stdout.expected
911 4ce46740 2019-08-08 stsp echo " (staged)" >> $testroot/stdout.expected
912 19e4b907 2019-08-08 stsp echo "file + numbers" >> $testroot/stdout.expected
913 19e4b907 2019-08-08 stsp echo "--- numbers" >> $testroot/stdout.expected
914 19e4b907 2019-08-08 stsp echo "+++ numbers" >> $testroot/stdout.expected
915 19e4b907 2019-08-08 stsp echo "@@ -1,5 +1,5 @@" >> $testroot/stdout.expected
916 19e4b907 2019-08-08 stsp echo " 1" >> $testroot/stdout.expected
917 19e4b907 2019-08-08 stsp echo "-2" >> $testroot/stdout.expected
918 19e4b907 2019-08-08 stsp echo "+a" >> $testroot/stdout.expected
919 19e4b907 2019-08-08 stsp echo " 3" >> $testroot/stdout.expected
920 19e4b907 2019-08-08 stsp echo " 4" >> $testroot/stdout.expected
921 19e4b907 2019-08-08 stsp echo " 5" >> $testroot/stdout.expected
922 19e4b907 2019-08-08 stsp cmp -s $testroot/stdout.expected $testroot/stdout
924 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
925 19e4b907 2019-08-08 stsp diff -u $testroot/stdout.expected $testroot/stdout
926 19e4b907 2019-08-08 stsp test_done "$testroot" "$ret"
930 19e4b907 2019-08-08 stsp (cd $testroot/wt && got diff -s > $testroot/stdout)
931 8469d821 2022-06-25 stsp echo "diff -s $testroot/wt" > $testroot/stdout.expected
932 8469d821 2022-06-25 stsp echo "commit - $commit_id" >> $testroot/stdout.expected
933 8469d821 2022-06-25 stsp echo "path + $testroot/wt (staged changes)" >> $testroot/stdout.expected
934 19e4b907 2019-08-08 stsp echo -n 'blob - ' >> $testroot/stdout.expected
935 19e4b907 2019-08-08 stsp got tree -r $testroot/repo -i -c $commit_id \
936 19e4b907 2019-08-08 stsp | grep 'numbers$' | cut -d' ' -f 1 \
937 19e4b907 2019-08-08 stsp >> $testroot/stdout.expected
938 19e4b907 2019-08-08 stsp echo -n 'blob + ' >> $testroot/stdout.expected
939 19e4b907 2019-08-08 stsp (cd $testroot/wt && got stage -l numbers) | cut -d' ' -f 1 \
940 19e4b907 2019-08-08 stsp >> $testroot/stdout.expected
941 19e4b907 2019-08-08 stsp cat >> $testroot/stdout.expected <<EOF
942 19e4b907 2019-08-08 stsp --- numbers
943 19e4b907 2019-08-08 stsp +++ numbers
944 19e4b907 2019-08-08 stsp @@ -4,7 +4,7 @@
953 19e4b907 2019-08-08 stsp @@ -13,4 +13,4 @@
960 19e4b907 2019-08-08 stsp echo -n 'blob - ' >> $testroot/stdout.expected
961 19e4b907 2019-08-08 stsp got tree -r $testroot/repo -i | grep 'zzz$' | cut -d' ' -f 1 \
962 19e4b907 2019-08-08 stsp >> $testroot/stdout.expected
963 19e4b907 2019-08-08 stsp echo 'blob + /dev/null' >> $testroot/stdout.expected
964 19e4b907 2019-08-08 stsp echo "--- zzz" >> $testroot/stdout.expected
965 19e4b907 2019-08-08 stsp echo "+++ /dev/null" >> $testroot/stdout.expected
966 19e4b907 2019-08-08 stsp echo "@@ -1 +0,0 @@" >> $testroot/stdout.expected
967 19e4b907 2019-08-08 stsp echo "-zzz" >> $testroot/stdout.expected
968 19e4b907 2019-08-08 stsp cmp -s $testroot/stdout.expected $testroot/stdout
970 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
971 19e4b907 2019-08-08 stsp diff -u $testroot/stdout.expected $testroot/stdout
973 19e4b907 2019-08-08 stsp test_done "$testroot" "$ret"
976 f6cae3ed 2020-09-13 naddy test_unstage_symlink() {
977 ea7786be 2020-07-23 stsp local testroot=`test_init unstage_symlink`
979 ea7786be 2020-07-23 stsp (cd $testroot/repo && ln -s alpha alpha.link)
980 ea7786be 2020-07-23 stsp (cd $testroot/repo && ln -s epsilon epsilon.link)
981 ea7786be 2020-07-23 stsp (cd $testroot/repo && ln -s /etc/passwd passwd.link)
982 ea7786be 2020-07-23 stsp (cd $testroot/repo && ln -s ../beta epsilon/beta.link)
983 ea7786be 2020-07-23 stsp (cd $testroot/repo && ln -s nonexistent nonexistent.link)
984 ea7786be 2020-07-23 stsp (cd $testroot/repo && git add .)
985 ea7786be 2020-07-23 stsp git_commit $testroot/repo -m "add symlinks"
986 ea7786be 2020-07-23 stsp local head_commit=`git_show_head $testroot/repo`
988 ea7786be 2020-07-23 stsp got checkout $testroot/repo $testroot/wt > /dev/null
990 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
991 ea7786be 2020-07-23 stsp test_done "$testroot" "$ret"
995 ea7786be 2020-07-23 stsp (cd $testroot/wt && ln -sf beta alpha.link)
996 f55db25a 2023-03-03 naddy (cd $testroot/wt && rm epsilon.link && ln -s gamma epsilon.link)
997 ea7786be 2020-07-23 stsp (cd $testroot/wt && ln -sf ../gamma/delta epsilon/beta.link)
998 ea7786be 2020-07-23 stsp echo 'this is regular file foo' > $testroot/wt/dotgotfoo.link
999 ea7786be 2020-07-23 stsp (cd $testroot/wt && got add dotgotfoo.link > /dev/null)
1000 ea7786be 2020-07-23 stsp (cd $testroot/wt && ln -sf .got/bar dotgotbar.link)
1001 ea7786be 2020-07-23 stsp (cd $testroot/wt && got add dotgotbar.link > /dev/null)
1002 ea7786be 2020-07-23 stsp (cd $testroot/wt && got rm nonexistent.link > /dev/null)
1003 ea7786be 2020-07-23 stsp (cd $testroot/wt && ln -sf gamma/delta zeta.link)
1004 ea7786be 2020-07-23 stsp (cd $testroot/wt && got add zeta.link > /dev/null)
1006 35213c7c 2020-07-23 stsp (cd $testroot/wt && got stage -S > /dev/null)
1008 ea7786be 2020-07-23 stsp (cd $testroot/wt && got status > $testroot/stdout)
1009 ea7786be 2020-07-23 stsp cat > $testroot/stdout.expected <<EOF
1010 ea7786be 2020-07-23 stsp M alpha.link
1011 ea7786be 2020-07-23 stsp A dotgotbar.link
1012 ea7786be 2020-07-23 stsp A dotgotfoo.link
1013 ea7786be 2020-07-23 stsp M epsilon/beta.link
1014 ea7786be 2020-07-23 stsp M epsilon.link
1015 ea7786be 2020-07-23 stsp D nonexistent.link
1016 ea7786be 2020-07-23 stsp A zeta.link
1018 ea7786be 2020-07-23 stsp cmp -s $testroot/stdout.expected $testroot/stdout
1020 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
1021 ea7786be 2020-07-23 stsp diff -u $testroot/stdout.expected $testroot/stdout
1022 ea7786be 2020-07-23 stsp test_done "$testroot" "$ret"
1026 ea7786be 2020-07-23 stsp (cd $testroot/wt && got unstage > $testroot/stdout)
1028 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
1029 ea7786be 2020-07-23 stsp echo "got unstage command failed unexpectedly" >&2
1030 ea7786be 2020-07-23 stsp test_done "$testroot" "1"
1034 ea7786be 2020-07-23 stsp cat > $testroot/stdout.expected <<EOF
1035 ea7786be 2020-07-23 stsp G alpha.link
1036 ea7786be 2020-07-23 stsp G dotgotbar.link
1037 ea7786be 2020-07-23 stsp G dotgotfoo.link
1038 ea7786be 2020-07-23 stsp G epsilon/beta.link
1039 ea7786be 2020-07-23 stsp G epsilon.link
1040 ea7786be 2020-07-23 stsp D nonexistent.link
1041 ea7786be 2020-07-23 stsp G zeta.link
1044 ea7786be 2020-07-23 stsp cmp -s $testroot/stdout.expected $testroot/stdout
1046 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
1047 ea7786be 2020-07-23 stsp diff -u $testroot/stdout.expected $testroot/stdout
1048 ea7786be 2020-07-23 stsp test_done "$testroot" "$ret"
1052 ea7786be 2020-07-23 stsp if [ ! -h $testroot/wt/alpha.link ]; then
1053 ea7786be 2020-07-23 stsp echo "alpha.link is not a symlink"
1054 ea7786be 2020-07-23 stsp test_done "$testroot" "1"
1058 ea7786be 2020-07-23 stsp readlink $testroot/wt/alpha.link > $testroot/stdout
1059 ea7786be 2020-07-23 stsp echo "beta" > $testroot/stdout.expected
1060 ea7786be 2020-07-23 stsp cmp -s $testroot/stdout.expected $testroot/stdout
1062 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
1063 ea7786be 2020-07-23 stsp diff -u $testroot/stdout.expected $testroot/stdout
1064 ea7786be 2020-07-23 stsp test_done "$testroot" "$ret"
1068 ea7786be 2020-07-23 stsp if [ ! -h $testroot/wt/epsilon.link ]; then
1069 ea7786be 2020-07-23 stsp echo "epsilon.link is not a symlink"
1070 ea7786be 2020-07-23 stsp test_done "$testroot" "1"
1074 ea7786be 2020-07-23 stsp readlink $testroot/wt/epsilon.link > $testroot/stdout
1075 ea7786be 2020-07-23 stsp echo "gamma" > $testroot/stdout.expected
1076 ea7786be 2020-07-23 stsp cmp -s $testroot/stdout.expected $testroot/stdout
1078 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
1079 ea7786be 2020-07-23 stsp diff -u $testroot/stdout.expected $testroot/stdout
1080 ea7786be 2020-07-23 stsp test_done "$testroot" "$ret"
1084 ea7786be 2020-07-23 stsp if [ ! -h $testroot/wt/epsilon/beta.link ]; then
1085 ea7786be 2020-07-23 stsp echo "epsilon/beta.link is not a symlink"
1086 ea7786be 2020-07-23 stsp test_done "$testroot" "1"
1090 ea7786be 2020-07-23 stsp readlink $testroot/wt/epsilon/beta.link > $testroot/stdout
1091 ea7786be 2020-07-23 stsp echo "../gamma/delta" > $testroot/stdout.expected
1092 ea7786be 2020-07-23 stsp cmp -s $testroot/stdout.expected $testroot/stdout
1094 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
1095 ea7786be 2020-07-23 stsp diff -u $testroot/stdout.expected $testroot/stdout
1096 ea7786be 2020-07-23 stsp test_done "$testroot" "$ret"
1100 ea7786be 2020-07-23 stsp if [ ! -f $testroot/wt/dotgotfoo.link ]; then
1101 ea7786be 2020-07-23 stsp echo "dotgotfoo.link is a symlink"
1102 ea7786be 2020-07-23 stsp test_done "$testroot" "1"
1106 ea7786be 2020-07-23 stsp echo "this is regular file foo" > $testroot/content.expected
1107 ea7786be 2020-07-23 stsp cp $testroot/wt/dotgotfoo.link $testroot/content
1108 ea7786be 2020-07-23 stsp cmp -s $testroot/content.expected $testroot/content
1110 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
1111 ea7786be 2020-07-23 stsp diff -u $testroot/content.expected $testroot/content
1112 ea7786be 2020-07-23 stsp test_done "$testroot" "$ret"
1116 ea7786be 2020-07-23 stsp # bad symlinks are allowed as-is for commit and stage/unstage
1117 ea7786be 2020-07-23 stsp if [ ! -h $testroot/wt/dotgotbar.link ]; then
1118 ea7786be 2020-07-23 stsp echo "dotgotbar.link is not a symlink"
1119 ea7786be 2020-07-23 stsp test_done "$testroot" "1"
1123 ea7786be 2020-07-23 stsp readlink $testroot/wt/dotgotbar.link > $testroot/stdout
1124 ea7786be 2020-07-23 stsp echo ".got/bar" > $testroot/stdout.expected
1125 ea7786be 2020-07-23 stsp cmp -s $testroot/stdout.expected $testroot/stdout
1127 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
1128 ea7786be 2020-07-23 stsp diff -u $testroot/stdout.expected $testroot/stdout
1129 ea7786be 2020-07-23 stsp test_done "$testroot" "$ret"
1133 ea7786be 2020-07-23 stsp if [ -e $testroot/wt/nonexistent.link ]; then
1134 ea7786be 2020-07-23 stsp echo "nonexistent.link exists on disk"
1135 ea7786be 2020-07-23 stsp test_done "$testroot" "1"
1139 ea7786be 2020-07-23 stsp if [ ! -h $testroot/wt/zeta.link ]; then
1140 ea7786be 2020-07-23 stsp echo "zeta.link is not a symlink"
1141 ea7786be 2020-07-23 stsp test_done "$testroot" "1"
1145 ea7786be 2020-07-23 stsp readlink $testroot/wt/zeta.link > $testroot/stdout
1146 ea7786be 2020-07-23 stsp echo "gamma/delta" > $testroot/stdout.expected
1147 ea7786be 2020-07-23 stsp cmp -s $testroot/stdout.expected $testroot/stdout
1149 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
1150 ea7786be 2020-07-23 stsp diff -u $testroot/stdout.expected $testroot/stdout
1151 ea7786be 2020-07-23 stsp test_done "$testroot" "$ret"
1155 ea7786be 2020-07-23 stsp test_done "$testroot" "0"
1158 f6cae3ed 2020-09-13 naddy test_unstage_patch_symlink() {
1159 36bf999c 2020-07-23 stsp local testroot=`test_init unstage_patch_symlink`
1161 36bf999c 2020-07-23 stsp (cd $testroot/repo && ln -s alpha alpha.link)
1162 36bf999c 2020-07-23 stsp (cd $testroot/repo && ln -s epsilon epsilon.link)
1163 36bf999c 2020-07-23 stsp (cd $testroot/repo && ln -s /etc/passwd passwd.link)
1164 36bf999c 2020-07-23 stsp (cd $testroot/repo && ln -s ../beta epsilon/beta.link)
1165 36bf999c 2020-07-23 stsp (cd $testroot/repo && ln -s nonexistent nonexistent.link)
1166 36bf999c 2020-07-23 stsp (cd $testroot/repo && ln -sf epsilon/zeta zeta.link)
1167 36bf999c 2020-07-23 stsp (cd $testroot/repo && ln -sf epsilon/zeta zeta2.link)
1168 36bf999c 2020-07-23 stsp (cd $testroot/repo && git add .)
1169 36bf999c 2020-07-23 stsp git_commit $testroot/repo -m "add symlinks"
1170 36bf999c 2020-07-23 stsp local commit_id1=`git_show_head $testroot/repo`
1172 36bf999c 2020-07-23 stsp got checkout $testroot/repo $testroot/wt > /dev/null
1174 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
1175 36bf999c 2020-07-23 stsp test_done "$testroot" "$ret"
1179 36bf999c 2020-07-23 stsp # symlink to file A now points to file B
1180 36bf999c 2020-07-23 stsp (cd $testroot/wt && ln -sf gamma/delta alpha.link)
1181 36bf999c 2020-07-23 stsp # symlink to a directory A now points to file B
1182 f55db25a 2023-03-03 naddy (cd $testroot/wt && rm epsilon.link && ln -s beta epsilon.link)
1183 36bf999c 2020-07-23 stsp # "bad" symlink now contains a different target path
1184 36bf999c 2020-07-23 stsp echo "foo" > $testroot/wt/passwd.link
1185 36bf999c 2020-07-23 stsp # relative symlink to directory A now points to relative directory B
1186 f55db25a 2023-03-03 naddy (cd $testroot/wt && rm epsilon/beta.link && ln -s ../gamma \
1187 f55db25a 2023-03-03 naddy epsilon/beta.link)
1188 36bf999c 2020-07-23 stsp # an unversioned symlink
1189 36bf999c 2020-07-23 stsp (cd $testroot/wt && ln -sf .got/foo dotgotfoo.link)
1190 36bf999c 2020-07-23 stsp # symlink to file A now points to non-existent file B
1191 36bf999c 2020-07-23 stsp (cd $testroot/wt && ln -sf nonexistent2 nonexistent.link)
1192 36bf999c 2020-07-23 stsp # removed symlink
1193 36bf999c 2020-07-23 stsp (cd $testroot/wt && got rm zeta.link > /dev/null)
1194 36bf999c 2020-07-23 stsp (cd $testroot/wt && got rm zeta2.link > /dev/null)
1195 36bf999c 2020-07-23 stsp # added symlink
1196 36bf999c 2020-07-23 stsp (cd $testroot/wt && ln -sf beta new.link)
1197 36bf999c 2020-07-23 stsp (cd $testroot/wt && got add new.link > /dev/null)
1198 36bf999c 2020-07-23 stsp (cd $testroot/wt && ln -sf beta zeta3.link)
1199 36bf999c 2020-07-23 stsp (cd $testroot/wt && got add zeta3.link > /dev/null)
1201 36bf999c 2020-07-23 stsp (cd $testroot/wt && got stage -S > /dev/null)
1203 36bf999c 2020-07-23 stsp (cd $testroot/wt && got status > $testroot/stdout)
1204 36bf999c 2020-07-23 stsp cat > $testroot/stdout.expected <<EOF
1205 36bf999c 2020-07-23 stsp M alpha.link
1206 36bf999c 2020-07-23 stsp ? dotgotfoo.link
1207 36bf999c 2020-07-23 stsp M epsilon/beta.link
1208 36bf999c 2020-07-23 stsp M epsilon.link
1209 36bf999c 2020-07-23 stsp A new.link
1210 36bf999c 2020-07-23 stsp M nonexistent.link
1211 36bf999c 2020-07-23 stsp M passwd.link
1212 36bf999c 2020-07-23 stsp D zeta.link
1213 36bf999c 2020-07-23 stsp D zeta2.link
1214 36bf999c 2020-07-23 stsp A zeta3.link
1216 36bf999c 2020-07-23 stsp cmp -s $testroot/stdout.expected $testroot/stdout
1218 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
1219 36bf999c 2020-07-23 stsp diff -u $testroot/stdout.expected $testroot/stdout
1220 36bf999c 2020-07-23 stsp test_done "$testroot" "$ret"
1224 36bf999c 2020-07-23 stsp printf "y\nn\ny\nn\ny\ny\nn\ny\ny\n" > $testroot/patchscript
1225 36bf999c 2020-07-23 stsp (cd $testroot/wt && got unstage -F $testroot/patchscript -p \
1226 36bf999c 2020-07-23 stsp > $testroot/stdout)
1228 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
1229 36bf999c 2020-07-23 stsp echo "got unstage command failed unexpectedly" >&2
1230 36bf999c 2020-07-23 stsp test_done "$testroot" "1"
1234 36bf999c 2020-07-23 stsp cat > $testroot/stdout.expected <<EOF
1235 36bf999c 2020-07-23 stsp -----------------------------------------------
1236 36bf999c 2020-07-23 stsp @@ -1 +1 @@
1238 36bf999c 2020-07-23 stsp \ No newline at end of file
1239 36bf999c 2020-07-23 stsp +gamma/delta
1240 36bf999c 2020-07-23 stsp \ No newline at end of file
1241 36bf999c 2020-07-23 stsp -----------------------------------------------
1242 36bf999c 2020-07-23 stsp M alpha.link (change 1 of 1)
1243 36bf999c 2020-07-23 stsp unstage this change? [y/n/q] y
1244 36bf999c 2020-07-23 stsp G alpha.link
1245 36bf999c 2020-07-23 stsp -----------------------------------------------
1246 36bf999c 2020-07-23 stsp @@ -1 +1 @@
1248 36bf999c 2020-07-23 stsp \ No newline at end of file
1250 36bf999c 2020-07-23 stsp \ No newline at end of file
1251 36bf999c 2020-07-23 stsp -----------------------------------------------
1252 36bf999c 2020-07-23 stsp M epsilon/beta.link (change 1 of 1)
1253 36bf999c 2020-07-23 stsp unstage this change? [y/n/q] n
1254 36bf999c 2020-07-23 stsp -----------------------------------------------
1255 36bf999c 2020-07-23 stsp @@ -1 +1 @@
1257 36bf999c 2020-07-23 stsp \ No newline at end of file
1259 36bf999c 2020-07-23 stsp \ No newline at end of file
1260 36bf999c 2020-07-23 stsp -----------------------------------------------
1261 36bf999c 2020-07-23 stsp M epsilon.link (change 1 of 1)
1262 36bf999c 2020-07-23 stsp unstage this change? [y/n/q] y
1263 36bf999c 2020-07-23 stsp G epsilon.link
1264 36bf999c 2020-07-23 stsp A new.link
1265 36bf999c 2020-07-23 stsp unstage this addition? [y/n] n
1266 36bf999c 2020-07-23 stsp -----------------------------------------------
1267 36bf999c 2020-07-23 stsp @@ -1 +1 @@
1268 36bf999c 2020-07-23 stsp -nonexistent
1269 36bf999c 2020-07-23 stsp \ No newline at end of file
1270 36bf999c 2020-07-23 stsp +nonexistent2
1271 36bf999c 2020-07-23 stsp \ No newline at end of file
1272 36bf999c 2020-07-23 stsp -----------------------------------------------
1273 36bf999c 2020-07-23 stsp M nonexistent.link (change 1 of 1)
1274 36bf999c 2020-07-23 stsp unstage this change? [y/n/q] y
1275 36bf999c 2020-07-23 stsp G nonexistent.link
1276 36bf999c 2020-07-23 stsp -----------------------------------------------
1277 36bf999c 2020-07-23 stsp @@ -1 +1 @@
1278 36bf999c 2020-07-23 stsp -/etc/passwd
1279 36bf999c 2020-07-23 stsp \ No newline at end of file
1281 36bf999c 2020-07-23 stsp -----------------------------------------------
1282 36bf999c 2020-07-23 stsp M passwd.link (change 1 of 1)
1283 36bf999c 2020-07-23 stsp unstage this change? [y/n/q] y
1284 36bf999c 2020-07-23 stsp G passwd.link
1285 36bf999c 2020-07-23 stsp D zeta.link
1286 36bf999c 2020-07-23 stsp unstage this deletion? [y/n] n
1287 36bf999c 2020-07-23 stsp D zeta2.link
1288 36bf999c 2020-07-23 stsp unstage this deletion? [y/n] y
1289 36bf999c 2020-07-23 stsp D zeta2.link
1290 36bf999c 2020-07-23 stsp A zeta3.link
1291 36bf999c 2020-07-23 stsp unstage this addition? [y/n] y
1292 36bf999c 2020-07-23 stsp G zeta3.link
1294 36bf999c 2020-07-23 stsp cmp -s $testroot/stdout.expected $testroot/stdout
1296 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
1297 36bf999c 2020-07-23 stsp diff -u $testroot/stdout.expected $testroot/stdout
1298 36bf999c 2020-07-23 stsp test_done "$testroot" "$ret"
1302 36bf999c 2020-07-23 stsp if ! [ -h $testroot/wt/alpha.link ]; then
1303 36bf999c 2020-07-23 stsp echo "alpha.link is not a symlink"
1304 36bf999c 2020-07-23 stsp test_done "$testroot" "1"
1308 36bf999c 2020-07-23 stsp readlink $testroot/wt/alpha.link > $testroot/stdout
1309 36bf999c 2020-07-23 stsp echo "gamma/delta" > $testroot/stdout.expected
1310 36bf999c 2020-07-23 stsp cmp -s $testroot/stdout.expected $testroot/stdout
1312 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
1313 36bf999c 2020-07-23 stsp diff -u $testroot/stdout.expected $testroot/stdout
1314 36bf999c 2020-07-23 stsp test_done "$testroot" "$ret"
1318 36bf999c 2020-07-23 stsp if ! [ -h $testroot/wt/epsilon.link ]; then
1319 36bf999c 2020-07-23 stsp echo "epsilon.link is not a symlink"
1320 36bf999c 2020-07-23 stsp test_done "$testroot" "1"
1324 36bf999c 2020-07-23 stsp readlink $testroot/wt/epsilon.link > $testroot/stdout
1325 36bf999c 2020-07-23 stsp echo "beta" > $testroot/stdout.expected
1326 36bf999c 2020-07-23 stsp cmp -s $testroot/stdout.expected $testroot/stdout
1328 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
1329 36bf999c 2020-07-23 stsp diff -u $testroot/stdout.expected $testroot/stdout
1330 36bf999c 2020-07-23 stsp test_done "$testroot" "$ret"
1334 36bf999c 2020-07-23 stsp if [ -h $testroot/wt/passwd.link ]; then
1335 36bf999c 2020-07-23 stsp echo "passwd.link should not be a symlink" >&2
1336 36bf999c 2020-07-23 stsp test_done "$testroot" "1"
1340 36bf999c 2020-07-23 stsp echo "foo" > $testroot/content.expected
1341 36bf999c 2020-07-23 stsp cp $testroot/wt/passwd.link $testroot/content
1343 36bf999c 2020-07-23 stsp cmp -s $testroot/content.expected $testroot/content
1345 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
1346 36bf999c 2020-07-23 stsp diff -u $testroot/content.expected $testroot/content
1347 36bf999c 2020-07-23 stsp test_done "$testroot" "$ret"
1351 36bf999c 2020-07-23 stsp readlink $testroot/wt/epsilon/beta.link > $testroot/stdout
1352 36bf999c 2020-07-23 stsp echo "../gamma" > $testroot/stdout.expected
1353 36bf999c 2020-07-23 stsp cmp -s $testroot/stdout.expected $testroot/stdout
1355 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
1356 36bf999c 2020-07-23 stsp diff -u $testroot/stdout.expected $testroot/stdout
1357 36bf999c 2020-07-23 stsp test_done "$testroot" "$ret"
1361 36bf999c 2020-07-23 stsp readlink $testroot/wt/nonexistent.link > $testroot/stdout
1362 36bf999c 2020-07-23 stsp echo "nonexistent2" > $testroot/stdout.expected
1363 36bf999c 2020-07-23 stsp cmp -s $testroot/stdout.expected $testroot/stdout
1365 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
1366 36bf999c 2020-07-23 stsp diff -u $testroot/stdout.expected $testroot/stdout
1367 36bf999c 2020-07-23 stsp test_done "$testroot" "$ret"
1371 36bf999c 2020-07-23 stsp if [ ! -h $testroot/wt/dotgotfoo.link ]; then
1372 36bf999c 2020-07-23 stsp echo "dotgotfoo.link is not a symlink " >&2
1373 36bf999c 2020-07-23 stsp test_done "$testroot" "1"
1376 36bf999c 2020-07-23 stsp readlink $testroot/wt/dotgotfoo.link > $testroot/stdout
1377 36bf999c 2020-07-23 stsp echo ".got/foo" > $testroot/stdout.expected
1378 36bf999c 2020-07-23 stsp cmp -s $testroot/stdout.expected $testroot/stdout
1380 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
1381 36bf999c 2020-07-23 stsp diff -u $testroot/stdout.expected $testroot/stdout
1382 36bf999c 2020-07-23 stsp test_done "$testroot" "$ret"
1387 36bf999c 2020-07-23 stsp if [ -e $testroot/wt/zeta.link ]; then
1388 36bf999c 2020-07-23 stsp echo -n "zeta.link should not exist on disk" >&2
1389 36bf999c 2020-07-23 stsp test_done "$testroot" "1"
1393 36bf999c 2020-07-23 stsp if [ -e $testroot/wt/zeta2.link ]; then
1394 36bf999c 2020-07-23 stsp echo -n "zeta2.link exists on disk" >&2
1395 36bf999c 2020-07-23 stsp test_done "$testroot" "1"
1399 36bf999c 2020-07-23 stsp if [ ! -h $testroot/wt/zeta3.link ]; then
1400 36bf999c 2020-07-23 stsp echo -n "zeta3.link is not a symlink" >&2
1401 36bf999c 2020-07-23 stsp test_done "$testroot" "1"
1405 36bf999c 2020-07-23 stsp readlink $testroot/wt/zeta3.link > $testroot/stdout
1406 36bf999c 2020-07-23 stsp echo "beta" > $testroot/stdout.expected
1407 36bf999c 2020-07-23 stsp cmp -s $testroot/stdout.expected $testroot/stdout
1409 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
1410 36bf999c 2020-07-23 stsp diff -u $testroot/stdout.expected $testroot/stdout
1411 36bf999c 2020-07-23 stsp test_done "$testroot" "$ret"
1415 36bf999c 2020-07-23 stsp if [ ! -h $testroot/wt/new.link ]; then
1416 36bf999c 2020-07-23 stsp echo -n "new.link is not a symlink" >&2
1417 36bf999c 2020-07-23 stsp test_done "$testroot" "1"
1421 36bf999c 2020-07-23 stsp (cd $testroot/wt && got status > $testroot/stdout)
1422 36bf999c 2020-07-23 stsp echo "M alpha.link" > $testroot/stdout.expected
1423 36bf999c 2020-07-23 stsp echo "? dotgotfoo.link" >> $testroot/stdout.expected
1424 36bf999c 2020-07-23 stsp echo " M epsilon/beta.link" >> $testroot/stdout.expected
1425 36bf999c 2020-07-23 stsp echo "M epsilon.link" >> $testroot/stdout.expected
1426 36bf999c 2020-07-23 stsp echo " A new.link" >> $testroot/stdout.expected
1427 36bf999c 2020-07-23 stsp echo "M nonexistent.link" >> $testroot/stdout.expected
1428 36bf999c 2020-07-23 stsp echo "M passwd.link" >> $testroot/stdout.expected
1429 36bf999c 2020-07-23 stsp echo " D zeta.link" >> $testroot/stdout.expected
1430 36bf999c 2020-07-23 stsp echo "D zeta2.link" >> $testroot/stdout.expected
1431 36bf999c 2020-07-23 stsp echo "A zeta3.link" >> $testroot/stdout.expected
1432 36bf999c 2020-07-23 stsp cmp -s $testroot/stdout.expected $testroot/stdout
1434 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
1435 36bf999c 2020-07-23 stsp diff -u $testroot/stdout.expected $testroot/stdout
1438 36bf999c 2020-07-23 stsp test_done "$testroot" "$ret"
1441 7fb414ae 2020-08-08 stsp test_parseargs "$@"
1442 ad493afc 2019-08-03 stsp run_test test_unstage_basic
1443 8b13ce36 2019-08-08 stsp run_test test_unstage_unversioned
1444 8564cb21 2019-08-08 stsp run_test test_unstage_nonexistent
1445 2e1f37b0 2019-08-08 stsp run_test test_unstage_patch
1446 2e1f37b0 2019-08-08 stsp run_test test_unstage_patch_added
1447 2e1f37b0 2019-08-08 stsp run_test test_unstage_patch_removed
1448 19e4b907 2019-08-08 stsp run_test test_unstage_patch_quit
1449 ea7786be 2020-07-23 stsp run_test test_unstage_symlink
1450 36bf999c 2020-07-23 stsp run_test test_unstage_patch_symlink