3 a129376b 2019-03-28 stsp # Copyright (c) 2019 Stefan Sperling <stsp@openbsd.org>
5 a129376b 2019-03-28 stsp # Permission to use, copy, modify, and distribute this software for any
6 a129376b 2019-03-28 stsp # purpose with or without fee is hereby granted, provided that the above
7 a129376b 2019-03-28 stsp # copyright notice and this permission notice appear in all copies.
9 a129376b 2019-03-28 stsp # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10 a129376b 2019-03-28 stsp # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11 a129376b 2019-03-28 stsp # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12 a129376b 2019-03-28 stsp # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13 a129376b 2019-03-28 stsp # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14 a129376b 2019-03-28 stsp # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15 a129376b 2019-03-28 stsp # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
17 a129376b 2019-03-28 stsp . ./common.sh
19 f6cae3ed 2020-09-13 naddy test_revert_basic() {
20 a129376b 2019-03-28 stsp local testroot=`test_init revert_basic`
22 a129376b 2019-03-28 stsp got checkout $testroot/repo $testroot/wt > /dev/null
24 fc414659 2022-04-16 thomas if [ $ret -ne 0 ]; then
25 a129376b 2019-03-28 stsp test_done "$testroot" "$ret"
29 5e54fb30 2019-05-31 stsp echo "modified epsilon/zeta" > $testroot/wt/epsilon/zeta
31 5e54fb30 2019-05-31 stsp echo 'R epsilon/zeta' > $testroot/stdout.expected
33 5e54fb30 2019-05-31 stsp (cd $testroot/wt && got revert epsilon/zeta > $testroot/stdout)
35 8d301dd9 2019-05-14 stsp cmp -s $testroot/stdout.expected $testroot/stdout
37 fc414659 2022-04-16 thomas if [ $ret -ne 0 ]; then
38 a129376b 2019-03-28 stsp diff -u $testroot/stdout.expected $testroot/stdout
39 a129376b 2019-03-28 stsp test_done "$testroot" "$ret"
43 5e54fb30 2019-05-31 stsp echo "zeta" > $testroot/content.expected
44 5e54fb30 2019-05-31 stsp cat $testroot/wt/epsilon/zeta > $testroot/content
46 8d301dd9 2019-05-14 stsp cmp -s $testroot/content.expected $testroot/content
48 fc414659 2022-04-16 thomas if [ $ret -ne 0 ]; then
49 a129376b 2019-03-28 stsp diff -u $testroot/content.expected $testroot/content
51 a129376b 2019-03-28 stsp test_done "$testroot" "$ret"
55 f6cae3ed 2020-09-13 naddy test_revert_rm() {
56 a129376b 2019-03-28 stsp local testroot=`test_init revert_rm`
58 a129376b 2019-03-28 stsp got checkout $testroot/repo $testroot/wt > /dev/null
60 fc414659 2022-04-16 thomas if [ $ret -ne 0 ]; then
61 a129376b 2019-03-28 stsp test_done "$testroot" "$ret"
65 a129376b 2019-03-28 stsp (cd $testroot/wt && got rm beta >/dev/null)
67 a129376b 2019-03-28 stsp echo 'R beta' > $testroot/stdout.expected
69 a129376b 2019-03-28 stsp (cd $testroot/wt && got revert beta > $testroot/stdout)
71 8d301dd9 2019-05-14 stsp cmp -s $testroot/stdout.expected $testroot/stdout
73 fc414659 2022-04-16 thomas if [ $ret -ne 0 ]; then
74 a129376b 2019-03-28 stsp diff -u $testroot/stdout.expected $testroot/stdout
75 a129376b 2019-03-28 stsp test_done "$testroot" "$ret"
79 a129376b 2019-03-28 stsp echo "beta" > $testroot/content.expected
80 a129376b 2019-03-28 stsp cat $testroot/wt/beta > $testroot/content
82 8d301dd9 2019-05-14 stsp cmp -s $testroot/content.expected $testroot/content
84 fc414659 2022-04-16 thomas if [ $ret -ne 0 ]; then
85 a129376b 2019-03-28 stsp diff -u $testroot/content.expected $testroot/content
87 a129376b 2019-03-28 stsp test_done "$testroot" "$ret"
90 f6cae3ed 2020-09-13 naddy test_revert_add() {
91 a129376b 2019-03-28 stsp local testroot=`test_init revert_add`
93 a129376b 2019-03-28 stsp got checkout $testroot/repo $testroot/wt > /dev/null
95 fc414659 2022-04-16 thomas if [ $ret -ne 0 ]; then
96 a129376b 2019-03-28 stsp test_done "$testroot" "$ret"
100 a129376b 2019-03-28 stsp echo "new file" > $testroot/wt/new
101 a129376b 2019-03-28 stsp (cd $testroot/wt && got add new >/dev/null)
103 a129376b 2019-03-28 stsp echo 'R new' > $testroot/stdout.expected
105 a129376b 2019-03-28 stsp (cd $testroot/wt && got revert new > $testroot/stdout)
107 8d301dd9 2019-05-14 stsp cmp -s $testroot/stdout.expected $testroot/stdout
109 fc414659 2022-04-16 thomas if [ $ret -ne 0 ]; then
110 a129376b 2019-03-28 stsp diff -u $testroot/stdout.expected $testroot/stdout
111 a129376b 2019-03-28 stsp test_done "$testroot" "$ret"
115 a129376b 2019-03-28 stsp echo "new file" > $testroot/content.expected
116 a129376b 2019-03-28 stsp cat $testroot/wt/new > $testroot/content
118 8d301dd9 2019-05-14 stsp cmp -s $testroot/content.expected $testroot/content
120 fc414659 2022-04-16 thomas if [ $ret -ne 0 ]; then
121 a129376b 2019-03-28 stsp diff -u $testroot/content.expected $testroot/content
122 a129376b 2019-03-28 stsp test_done "$testroot" "$ret"
126 a129376b 2019-03-28 stsp echo '? new' > $testroot/stdout.expected
128 a129376b 2019-03-28 stsp (cd $testroot/wt && got status > $testroot/stdout)
130 8d301dd9 2019-05-14 stsp cmp -s $testroot/stdout.expected $testroot/stdout
132 fc414659 2022-04-16 thomas if [ $ret -ne 0 ]; then
133 a129376b 2019-03-28 stsp diff -u $testroot/stdout.expected $testroot/stdout
135 a129376b 2019-03-28 stsp test_done "$testroot" "$ret"
138 f6cae3ed 2020-09-13 naddy test_revert_multiple() {
139 e20a8b6f 2019-06-04 stsp local testroot=`test_init revert_multiple`
141 e20a8b6f 2019-06-04 stsp got checkout $testroot/repo $testroot/wt > /dev/null
143 fc414659 2022-04-16 thomas if [ $ret -ne 0 ]; then
144 e20a8b6f 2019-06-04 stsp test_done "$testroot" "$ret"
148 e20a8b6f 2019-06-04 stsp echo "modified alpha" > $testroot/wt/alpha
149 e20a8b6f 2019-06-04 stsp echo "modified epsilon/zeta" > $testroot/wt/epsilon/zeta
151 e20a8b6f 2019-06-04 stsp echo 'R alpha' > $testroot/stdout.expected
152 e20a8b6f 2019-06-04 stsp echo 'R epsilon/zeta' >> $testroot/stdout.expected
154 e20a8b6f 2019-06-04 stsp (cd $testroot/wt && got revert alpha epsilon/zeta > $testroot/stdout)
156 e20a8b6f 2019-06-04 stsp cmp -s $testroot/stdout.expected $testroot/stdout
158 fc414659 2022-04-16 thomas if [ $ret -ne 0 ]; then
159 e20a8b6f 2019-06-04 stsp diff -u $testroot/stdout.expected $testroot/stdout
160 e20a8b6f 2019-06-04 stsp test_done "$testroot" "$ret"
164 e20a8b6f 2019-06-04 stsp echo "alpha" > $testroot/content.expected
165 e20a8b6f 2019-06-04 stsp cat $testroot/wt/alpha > $testroot/content
167 e20a8b6f 2019-06-04 stsp cmp -s $testroot/content.expected $testroot/content
169 fc414659 2022-04-16 thomas if [ $ret -ne 0 ]; then
170 e20a8b6f 2019-06-04 stsp diff -u $testroot/content.expected $testroot/content
171 e20a8b6f 2019-06-04 stsp test_done "$testroot" "$ret"
175 e20a8b6f 2019-06-04 stsp echo "zeta" > $testroot/content.expected
176 e20a8b6f 2019-06-04 stsp cat $testroot/wt/epsilon/zeta > $testroot/content
178 e20a8b6f 2019-06-04 stsp cmp -s $testroot/content.expected $testroot/content
180 fc414659 2022-04-16 thomas if [ $ret -ne 0 ]; then
181 e20a8b6f 2019-06-04 stsp diff -u $testroot/content.expected $testroot/content
183 e20a8b6f 2019-06-04 stsp test_done "$testroot" "$ret"
186 f6cae3ed 2020-09-13 naddy test_revert_file_in_new_subdir() {
187 a9fa2909 2019-07-27 stsp local testroot=`test_init revert_file_in_new_subdir`
189 a9fa2909 2019-07-27 stsp got checkout $testroot/repo $testroot/wt > /dev/null
191 fc414659 2022-04-16 thomas if [ $ret -ne 0 ]; then
192 a9fa2909 2019-07-27 stsp test_done "$testroot" "$ret"
197 a9fa2909 2019-07-27 stsp mkdir -p $testroot/wt/newdir
198 a9fa2909 2019-07-27 stsp echo new > $testroot/wt/newdir/new
199 a9fa2909 2019-07-27 stsp (cd $testroot/wt && got add newdir/new > /dev/null)
201 a9fa2909 2019-07-27 stsp (cd $testroot/wt && got revert newdir/new > $testroot/stdout)
203 a9fa2909 2019-07-27 stsp echo "R newdir/new" > $testroot/stdout.expected
204 a9fa2909 2019-07-27 stsp cmp -s $testroot/stdout.expected $testroot/stdout
206 fc414659 2022-04-16 thomas if [ $ret -ne 0 ]; then
207 a9fa2909 2019-07-27 stsp diff -u $testroot/stdout.expected $testroot/stdout
208 a9fa2909 2019-07-27 stsp test_done "$testroot" "$ret"
212 a9fa2909 2019-07-27 stsp (cd $testroot/wt && got status > $testroot/stdout)
214 a9fa2909 2019-07-27 stsp echo "? newdir/new" > $testroot/stdout.expected
215 a9fa2909 2019-07-27 stsp cmp -s $testroot/stdout.expected $testroot/stdout
217 fc414659 2022-04-16 thomas if [ $ret -ne 0 ]; then
218 a9fa2909 2019-07-27 stsp diff -u $testroot/stdout.expected $testroot/stdout
220 a9fa2909 2019-07-27 stsp test_done "$testroot" "$ret"
224 f6cae3ed 2020-09-13 naddy test_revert_no_arguments() {
225 1f1abb7e 2019-08-08 stsp local testroot=`test_init revert_no_arguments`
227 1f1abb7e 2019-08-08 stsp got checkout $testroot/repo $testroot/wt > /dev/null
229 fc414659 2022-04-16 thomas if [ $ret -ne 0 ]; then
230 1f1abb7e 2019-08-08 stsp test_done "$testroot" "$ret"
234 1f1abb7e 2019-08-08 stsp echo "modified epsilon/zeta" > $testroot/wt/epsilon/zeta
236 1f1abb7e 2019-08-08 stsp (cd $testroot/wt && got revert > $testroot/stdout 2> $testroot/stderr)
238 fc414659 2022-04-16 thomas if [ $ret -eq 0 ]; then
239 1f1abb7e 2019-08-08 stsp echo "revert command succeeded unexpectedly" >&2
240 1f1abb7e 2019-08-08 stsp test_done "$testroot" "1"
244 1f1abb7e 2019-08-08 stsp echo -n > $testroot/stdout.expected
245 1f1abb7e 2019-08-08 stsp cmp -s $testroot/stdout.expected $testroot/stdout
247 fc414659 2022-04-16 thomas if [ $ret -ne 0 ]; then
248 1f1abb7e 2019-08-08 stsp diff -u $testroot/stdout.expected $testroot/stdout
249 1f1abb7e 2019-08-08 stsp test_done "$testroot" "$ret"
253 8c88ec70 2022-08-16 thomas echo "usage: got revert [-pR] [-F response-script] path ..." \
254 33aa809d 2019-08-08 stsp > $testroot/stderr.expected
255 0f6d7415 2019-08-08 stsp cmp -s $testroot/stderr.expected $testroot/stderr
257 fc414659 2022-04-16 thomas if [ $ret -ne 0 ]; then
258 0f6d7415 2019-08-08 stsp diff -u $testroot/stderr.expected $testroot/stderr
260 0f6d7415 2019-08-08 stsp test_done "$testroot" "$ret"
263 f6cae3ed 2020-09-13 naddy test_revert_directory() {
264 0f6d7415 2019-08-08 stsp local testroot=`test_init revert_directory`
266 0f6d7415 2019-08-08 stsp got checkout $testroot/repo $testroot/wt > /dev/null
268 fc414659 2022-04-16 thomas if [ $ret -ne 0 ]; then
269 0f6d7415 2019-08-08 stsp test_done "$testroot" "$ret"
273 0f6d7415 2019-08-08 stsp echo "modified epsilon/zeta" > $testroot/wt/epsilon/zeta
275 0f6d7415 2019-08-08 stsp (cd $testroot/wt && got revert . > $testroot/stdout 2> $testroot/stderr)
277 fc414659 2022-04-16 thomas if [ $ret -eq 0 ]; then
278 0f6d7415 2019-08-08 stsp echo "got revert command succeeded unexpectedly" >&2
279 0f6d7415 2019-08-08 stsp test_done "$testroot" "1"
282 0f6d7415 2019-08-08 stsp echo "got: reverting directories requires -R option" \
283 0f6d7415 2019-08-08 stsp > $testroot/stderr.expected
284 1f1abb7e 2019-08-08 stsp cmp -s $testroot/stderr.expected $testroot/stderr
286 fc414659 2022-04-16 thomas if [ $ret -ne 0 ]; then
287 1f1abb7e 2019-08-08 stsp diff -u $testroot/stderr.expected $testroot/stderr
288 0f6d7415 2019-08-08 stsp test_done "$testroot" "$ret"
292 0f6d7415 2019-08-08 stsp echo -n > $testroot/stdout.expected
293 0f6d7415 2019-08-08 stsp cmp -s $testroot/stdout.expected $testroot/stdout
295 fc414659 2022-04-16 thomas if [ $ret -ne 0 ]; then
296 0f6d7415 2019-08-08 stsp diff -u $testroot/stdout.expected $testroot/stdout
297 0f6d7415 2019-08-08 stsp test_done "$testroot" "$ret"
301 0f6d7415 2019-08-08 stsp (cd $testroot/wt && got revert -R . > $testroot/stdout)
303 0f6d7415 2019-08-08 stsp echo 'R epsilon/zeta' > $testroot/stdout.expected
304 0f6d7415 2019-08-08 stsp cmp -s $testroot/stdout.expected $testroot/stdout
306 fc414659 2022-04-16 thomas if [ $ret -ne 0 ]; then
307 0f6d7415 2019-08-08 stsp diff -u $testroot/stdout.expected $testroot/stdout
308 0f6d7415 2019-08-08 stsp test_done "$testroot" "$ret"
312 0f6d7415 2019-08-08 stsp echo "zeta" > $testroot/content.expected
313 0f6d7415 2019-08-08 stsp cat $testroot/wt/epsilon/zeta > $testroot/content
315 0f6d7415 2019-08-08 stsp cmp -s $testroot/content.expected $testroot/content
317 fc414659 2022-04-16 thomas if [ $ret -ne 0 ]; then
318 0f6d7415 2019-08-08 stsp diff -u $testroot/content.expected $testroot/content
320 33aa809d 2019-08-08 stsp test_done "$testroot" "$ret"
323 f6cae3ed 2020-09-13 naddy test_revert_directory_unknown() {
324 3d69ad8d 2019-08-17 semarie local testroot=`test_init revert_directory_unknown`
326 3d69ad8d 2019-08-17 semarie got checkout $testroot/repo $testroot/wt > /dev/null
328 fc414659 2022-04-16 thomas if [ $ret -ne 0 ]; then
329 3d69ad8d 2019-08-17 semarie test_done "$testroot" "$ret"
330 3d69ad8d 2019-08-17 semarie return 1
333 3d69ad8d 2019-08-17 semarie echo "modified alpha" > $testroot/wt/alpha
334 3d69ad8d 2019-08-17 semarie echo "new untracked file" > $testroot/wt/epsilon/new_file
335 6a5eff7c 2019-11-23 stsp echo "modified epsilon/zeta" > $testroot/wt/epsilon/zeta
337 3d69ad8d 2019-08-17 semarie (cd $testroot/wt && got revert -R . > $testroot/stdout)
339 3d69ad8d 2019-08-17 semarie echo 'R alpha' > $testroot/stdout.expected
340 3d69ad8d 2019-08-17 semarie echo 'R epsilon/zeta' >> $testroot/stdout.expected
341 3d69ad8d 2019-08-17 semarie cmp -s $testroot/stdout.expected $testroot/stdout
343 fc414659 2022-04-16 thomas if [ $ret -ne 0 ]; then
344 3d69ad8d 2019-08-17 semarie diff -u $testroot/stdout.expected $testroot/stdout
345 3d69ad8d 2019-08-17 semarie test_done "$testroot" "$ret"
346 3d69ad8d 2019-08-17 semarie return 1
349 3d69ad8d 2019-08-17 semarie echo "new untracked file" > $testroot/content.expected
350 3d69ad8d 2019-08-17 semarie cat $testroot/wt/epsilon/new_file > $testroot/content
352 3d69ad8d 2019-08-17 semarie cmp -s $testroot/content.expected $testroot/content
354 fc414659 2022-04-16 thomas if [ $ret -ne 0 ]; then
355 3d69ad8d 2019-08-17 semarie diff -u $testroot/content.expected $testroot/content
356 3d69ad8d 2019-08-17 semarie test_done "$testroot" "$ret"
357 3d69ad8d 2019-08-17 semarie return 1
360 3d69ad8d 2019-08-17 semarie echo "zeta" > $testroot/content.expected
361 3d69ad8d 2019-08-17 semarie cat $testroot/wt/epsilon/zeta > $testroot/content
363 3d69ad8d 2019-08-17 semarie cmp -s $testroot/content.expected $testroot/content
365 fc414659 2022-04-16 thomas if [ $ret -ne 0 ]; then
366 3d69ad8d 2019-08-17 semarie diff -u $testroot/content.expected $testroot/content
369 3d69ad8d 2019-08-17 semarie test_done "$testroot" "$ret"
372 f6cae3ed 2020-09-13 naddy test_revert_patch() {
373 33aa809d 2019-08-08 stsp local testroot=`test_init revert_patch`
375 33aa809d 2019-08-08 stsp jot 16 > $testroot/repo/numbers
376 33aa809d 2019-08-08 stsp (cd $testroot/repo && git add numbers)
377 33aa809d 2019-08-08 stsp git_commit $testroot/repo -m "added numbers file"
378 33aa809d 2019-08-08 stsp local commit_id=`git_show_head $testroot/repo`
380 33aa809d 2019-08-08 stsp got checkout $testroot/repo $testroot/wt > /dev/null
382 fc414659 2022-04-16 thomas if [ $ret -ne 0 ]; then
383 33aa809d 2019-08-08 stsp test_done "$testroot" "$ret"
387 ac3cdf31 2023-03-06 thomas ed -s $testroot/wt/numbers <<-\EOF
388 ac3cdf31 2023-03-06 thomas ,s/^2$/a/
389 ac3cdf31 2023-03-06 thomas ,s/^7$/b/
390 ac3cdf31 2023-03-06 thomas ,s/^16$/c/
394 33aa809d 2019-08-08 stsp (cd $testroot/wt && got diff > $testroot/numbers.diff)
396 33aa809d 2019-08-08 stsp # don't revert any hunks
397 33aa809d 2019-08-08 stsp printf "n\nn\nn\n" > $testroot/patchscript
398 33aa809d 2019-08-08 stsp (cd $testroot/wt && got revert -F $testroot/patchscript -p \
399 33aa809d 2019-08-08 stsp numbers > $testroot/stdout)
401 fc414659 2022-04-16 thomas if [ $ret -ne 0 ]; then
402 33aa809d 2019-08-08 stsp echo "got revert command failed unexpectedly" >&2
403 33aa809d 2019-08-08 stsp test_done "$testroot" "1"
406 33aa809d 2019-08-08 stsp cat > $testroot/stdout.expected <<EOF
407 33aa809d 2019-08-08 stsp -----------------------------------------------
408 33aa809d 2019-08-08 stsp @@ -1,5 +1,5 @@
415 33aa809d 2019-08-08 stsp -----------------------------------------------
416 33aa809d 2019-08-08 stsp M numbers (change 1 of 3)
417 33aa809d 2019-08-08 stsp revert this change? [y/n/q] n
418 33aa809d 2019-08-08 stsp -----------------------------------------------
419 33aa809d 2019-08-08 stsp @@ -4,7 +4,7 @@
428 33aa809d 2019-08-08 stsp -----------------------------------------------
429 33aa809d 2019-08-08 stsp M numbers (change 2 of 3)
430 33aa809d 2019-08-08 stsp revert this change? [y/n/q] n
431 33aa809d 2019-08-08 stsp -----------------------------------------------
432 33aa809d 2019-08-08 stsp @@ -13,4 +13,4 @@
438 33aa809d 2019-08-08 stsp -----------------------------------------------
439 33aa809d 2019-08-08 stsp M numbers (change 3 of 3)
440 33aa809d 2019-08-08 stsp revert this change? [y/n/q] n
442 33aa809d 2019-08-08 stsp cmp -s $testroot/stdout.expected $testroot/stdout
444 fc414659 2022-04-16 thomas if [ $ret -ne 0 ]; then
445 33aa809d 2019-08-08 stsp diff -u $testroot/stdout.expected $testroot/stdout
446 33aa809d 2019-08-08 stsp test_done "$testroot" "$ret"
450 33aa809d 2019-08-08 stsp (cd $testroot/wt && got status > $testroot/stdout)
451 33aa809d 2019-08-08 stsp echo "M numbers" > $testroot/stdout.expected
452 33aa809d 2019-08-08 stsp cmp -s $testroot/stdout.expected $testroot/stdout
454 fc414659 2022-04-16 thomas if [ $ret -ne 0 ]; then
455 33aa809d 2019-08-08 stsp diff -u $testroot/stdout.expected $testroot/stdout
456 33aa809d 2019-08-08 stsp test_done "$testroot" "$ret"
460 33aa809d 2019-08-08 stsp (cd $testroot/wt && got diff > $testroot/stdout)
461 33aa809d 2019-08-08 stsp cmp -s $testroot/numbers.diff $testroot/stdout
463 fc414659 2022-04-16 thomas if [ $ret -ne 0 ]; then
464 33aa809d 2019-08-08 stsp diff -u $testroot/numbers.diff $testroot/stdout
465 33aa809d 2019-08-08 stsp test_done "$testroot" "$ret"
469 ce2b05c7 2019-08-10 stsp # revert first hunk
470 ce2b05c7 2019-08-10 stsp printf "y\nn\nn\n" > $testroot/patchscript
471 ce2b05c7 2019-08-10 stsp (cd $testroot/wt && got revert -F $testroot/patchscript -p \
472 ce2b05c7 2019-08-10 stsp numbers > $testroot/stdout)
474 fc414659 2022-04-16 thomas if [ $ret -ne 0 ]; then
475 ce2b05c7 2019-08-10 stsp echo "got revert command failed unexpectedly" >&2
476 ce2b05c7 2019-08-10 stsp test_done "$testroot" "1"
479 ce2b05c7 2019-08-10 stsp cat > $testroot/stdout.expected <<EOF
480 ce2b05c7 2019-08-10 stsp -----------------------------------------------
481 ce2b05c7 2019-08-10 stsp @@ -1,5 +1,5 @@
488 ce2b05c7 2019-08-10 stsp -----------------------------------------------
489 ce2b05c7 2019-08-10 stsp M numbers (change 1 of 3)
490 ce2b05c7 2019-08-10 stsp revert this change? [y/n/q] y
491 ce2b05c7 2019-08-10 stsp -----------------------------------------------
492 ce2b05c7 2019-08-10 stsp @@ -4,7 +4,7 @@
501 ce2b05c7 2019-08-10 stsp -----------------------------------------------
502 ce2b05c7 2019-08-10 stsp M numbers (change 2 of 3)
503 ce2b05c7 2019-08-10 stsp revert this change? [y/n/q] n
504 ce2b05c7 2019-08-10 stsp -----------------------------------------------
505 ce2b05c7 2019-08-10 stsp @@ -13,4 +13,4 @@
511 ce2b05c7 2019-08-10 stsp -----------------------------------------------
512 ce2b05c7 2019-08-10 stsp M numbers (change 3 of 3)
513 ce2b05c7 2019-08-10 stsp revert this change? [y/n/q] n
515 ce2b05c7 2019-08-10 stsp cmp -s $testroot/stdout.expected $testroot/stdout
517 fc414659 2022-04-16 thomas if [ $ret -ne 0 ]; then
518 ce2b05c7 2019-08-10 stsp diff -u $testroot/stdout.expected $testroot/stdout
519 ce2b05c7 2019-08-10 stsp test_done "$testroot" "$ret"
523 ce2b05c7 2019-08-10 stsp (cd $testroot/wt && got status > $testroot/stdout)
524 ce2b05c7 2019-08-10 stsp echo "M numbers" > $testroot/stdout.expected
525 ce2b05c7 2019-08-10 stsp cmp -s $testroot/stdout.expected $testroot/stdout
527 fc414659 2022-04-16 thomas if [ $ret -ne 0 ]; then
528 ce2b05c7 2019-08-10 stsp diff -u $testroot/stdout.expected $testroot/stdout
529 ce2b05c7 2019-08-10 stsp test_done "$testroot" "$ret"
533 9b4458b4 2022-06-26 thomas echo "diff $testroot/wt" > $testroot/stdout.expected
534 9b4458b4 2022-06-26 thomas echo "commit - $commit_id" >> $testroot/stdout.expected
535 9b4458b4 2022-06-26 thomas echo "path + $testroot/wt" >> $testroot/stdout.expected
536 ce2b05c7 2019-08-10 stsp echo -n 'blob - ' >> $testroot/stdout.expected
537 ce2b05c7 2019-08-10 stsp got tree -r $testroot/repo -i -c $commit_id \
538 ce2b05c7 2019-08-10 stsp | grep 'numbers$' | cut -d' ' -f 1 \
539 ce2b05c7 2019-08-10 stsp >> $testroot/stdout.expected
540 ce2b05c7 2019-08-10 stsp echo 'file + numbers' >> $testroot/stdout.expected
541 ce2b05c7 2019-08-10 stsp cat >> $testroot/stdout.expected <<EOF
542 ce2b05c7 2019-08-10 stsp --- numbers
543 ce2b05c7 2019-08-10 stsp +++ numbers
544 ce2b05c7 2019-08-10 stsp @@ -4,7 +4,7 @@
553 ce2b05c7 2019-08-10 stsp @@ -13,4 +13,4 @@
560 ce2b05c7 2019-08-10 stsp (cd $testroot/wt && got diff > $testroot/stdout)
561 ce2b05c7 2019-08-10 stsp cmp -s $testroot/stdout.expected $testroot/stdout
563 fc414659 2022-04-16 thomas if [ $ret -ne 0 ]; then
564 ce2b05c7 2019-08-10 stsp diff -u $testroot/stdout.expected $testroot/stdout
565 ce2b05c7 2019-08-10 stsp test_done "$testroot" "$ret"
569 ce2b05c7 2019-08-10 stsp # put first hunk back
570 ac3cdf31 2023-03-06 thomas ed -s $testroot/wt/numbers <<-\EOF
571 ac3cdf31 2023-03-06 thomas ,s/^2$/a/
575 33aa809d 2019-08-08 stsp # revert middle hunk
576 33aa809d 2019-08-08 stsp printf "n\ny\nn\n" > $testroot/patchscript
577 33aa809d 2019-08-08 stsp (cd $testroot/wt && got revert -F $testroot/patchscript -p \
578 33aa809d 2019-08-08 stsp numbers > $testroot/stdout)
580 33aa809d 2019-08-08 stsp cat > $testroot/stdout.expected <<EOF
581 33aa809d 2019-08-08 stsp -----------------------------------------------
582 33aa809d 2019-08-08 stsp @@ -1,5 +1,5 @@
589 33aa809d 2019-08-08 stsp -----------------------------------------------
590 33aa809d 2019-08-08 stsp M numbers (change 1 of 3)
591 33aa809d 2019-08-08 stsp revert this change? [y/n/q] n
592 33aa809d 2019-08-08 stsp -----------------------------------------------
593 33aa809d 2019-08-08 stsp @@ -4,7 +4,7 @@
602 33aa809d 2019-08-08 stsp -----------------------------------------------
603 33aa809d 2019-08-08 stsp M numbers (change 2 of 3)
604 33aa809d 2019-08-08 stsp revert this change? [y/n/q] y
605 33aa809d 2019-08-08 stsp -----------------------------------------------
606 33aa809d 2019-08-08 stsp @@ -13,4 +13,4 @@
612 33aa809d 2019-08-08 stsp -----------------------------------------------
613 33aa809d 2019-08-08 stsp M numbers (change 3 of 3)
614 33aa809d 2019-08-08 stsp revert this change? [y/n/q] n
616 33aa809d 2019-08-08 stsp cmp -s $testroot/stdout.expected $testroot/stdout
618 fc414659 2022-04-16 thomas if [ $ret -ne 0 ]; then
619 33aa809d 2019-08-08 stsp diff -u $testroot/stdout.expected $testroot/stdout
620 33aa809d 2019-08-08 stsp test_done "$testroot" "$ret"
624 33aa809d 2019-08-08 stsp (cd $testroot/wt && got status > $testroot/stdout)
625 33aa809d 2019-08-08 stsp echo "M numbers" > $testroot/stdout.expected
626 33aa809d 2019-08-08 stsp cmp -s $testroot/stdout.expected $testroot/stdout
628 fc414659 2022-04-16 thomas if [ $ret -ne 0 ]; then
629 33aa809d 2019-08-08 stsp diff -u $testroot/stdout.expected $testroot/stdout
630 33aa809d 2019-08-08 stsp test_done "$testroot" "$ret"
634 33aa809d 2019-08-08 stsp (cd $testroot/wt && got diff > $testroot/stdout)
636 9b4458b4 2022-06-26 thomas echo "diff $testroot/wt" > $testroot/stdout.expected
637 9b4458b4 2022-06-26 thomas echo "commit - $commit_id" >> $testroot/stdout.expected
638 9b4458b4 2022-06-26 thomas echo "path + $testroot/wt" >> $testroot/stdout.expected
639 33aa809d 2019-08-08 stsp echo -n 'blob - ' >> $testroot/stdout.expected
640 33aa809d 2019-08-08 stsp got tree -r $testroot/repo -i -c $commit_id \
641 33aa809d 2019-08-08 stsp | grep 'numbers$' | cut -d' ' -f 1 \
642 33aa809d 2019-08-08 stsp >> $testroot/stdout.expected
643 33aa809d 2019-08-08 stsp echo 'file + numbers' >> $testroot/stdout.expected
644 33aa809d 2019-08-08 stsp cat >> $testroot/stdout.expected <<EOF
645 33aa809d 2019-08-08 stsp --- numbers
646 33aa809d 2019-08-08 stsp +++ numbers
647 33aa809d 2019-08-08 stsp @@ -1,5 +1,5 @@
654 33aa809d 2019-08-08 stsp @@ -13,4 +13,4 @@
661 33aa809d 2019-08-08 stsp cmp -s $testroot/stdout.expected $testroot/stdout
663 fc414659 2022-04-16 thomas if [ $ret -ne 0 ]; then
664 33aa809d 2019-08-08 stsp diff -u $testroot/stdout.expected $testroot/stdout
665 33aa809d 2019-08-08 stsp test_done "$testroot" "$ret"
669 33aa809d 2019-08-08 stsp # revert last hunk
670 33aa809d 2019-08-08 stsp printf "n\ny\n" > $testroot/patchscript
671 33aa809d 2019-08-08 stsp (cd $testroot/wt && got revert -F $testroot/patchscript -p \
672 33aa809d 2019-08-08 stsp numbers > $testroot/stdout)
673 33aa809d 2019-08-08 stsp cat > $testroot/stdout.expected <<EOF
674 33aa809d 2019-08-08 stsp -----------------------------------------------
675 33aa809d 2019-08-08 stsp @@ -1,5 +1,5 @@
682 33aa809d 2019-08-08 stsp -----------------------------------------------
683 33aa809d 2019-08-08 stsp M numbers (change 1 of 2)
684 33aa809d 2019-08-08 stsp revert this change? [y/n/q] n
685 33aa809d 2019-08-08 stsp -----------------------------------------------
686 33aa809d 2019-08-08 stsp @@ -13,4 +13,4 @@
692 33aa809d 2019-08-08 stsp -----------------------------------------------
693 33aa809d 2019-08-08 stsp M numbers (change 2 of 2)
694 33aa809d 2019-08-08 stsp revert this change? [y/n/q] y
696 33aa809d 2019-08-08 stsp cmp -s $testroot/stdout.expected $testroot/stdout
698 fc414659 2022-04-16 thomas if [ $ret -ne 0 ]; then
699 33aa809d 2019-08-08 stsp diff -u $testroot/stdout.expected $testroot/stdout
700 33aa809d 2019-08-08 stsp test_done "$testroot" "$ret"
704 33aa809d 2019-08-08 stsp (cd $testroot/wt && got diff > $testroot/stdout)
706 9b4458b4 2022-06-26 thomas echo "diff $testroot/wt" > $testroot/stdout.expected
707 9b4458b4 2022-06-26 thomas echo "commit - $commit_id" >> $testroot/stdout.expected
708 9b4458b4 2022-06-26 thomas echo "path + $testroot/wt" >> $testroot/stdout.expected
709 33aa809d 2019-08-08 stsp echo -n 'blob - ' >> $testroot/stdout.expected
710 33aa809d 2019-08-08 stsp got tree -r $testroot/repo -i -c $commit_id \
711 33aa809d 2019-08-08 stsp | grep 'numbers$' | cut -d' ' -f 1 \
712 33aa809d 2019-08-08 stsp >> $testroot/stdout.expected
713 33aa809d 2019-08-08 stsp echo 'file + numbers' >> $testroot/stdout.expected
714 33aa809d 2019-08-08 stsp cat >> $testroot/stdout.expected <<EOF
715 33aa809d 2019-08-08 stsp --- numbers
716 33aa809d 2019-08-08 stsp +++ numbers
717 33aa809d 2019-08-08 stsp @@ -1,5 +1,5 @@
725 33aa809d 2019-08-08 stsp cmp -s $testroot/stdout.expected $testroot/stdout
727 fc414659 2022-04-16 thomas if [ $ret -ne 0 ]; then
728 33aa809d 2019-08-08 stsp diff -u $testroot/stdout.expected $testroot/stdout
730 1f1abb7e 2019-08-08 stsp test_done "$testroot" "$ret"
733 f6cae3ed 2020-09-13 naddy test_revert_patch_added() {
734 33aa809d 2019-08-08 stsp local testroot=`test_init revert_patch_added`
735 33aa809d 2019-08-08 stsp local commit_id=`git_show_head $testroot/repo`
737 33aa809d 2019-08-08 stsp got checkout $testroot/repo $testroot/wt > /dev/null
739 fc414659 2022-04-16 thomas if [ $ret -ne 0 ]; then
740 33aa809d 2019-08-08 stsp test_done "$testroot" "$ret"
744 33aa809d 2019-08-08 stsp echo "new" > $testroot/wt/epsilon/new
745 33aa809d 2019-08-08 stsp (cd $testroot/wt && got add epsilon/new > /dev/null)
747 33aa809d 2019-08-08 stsp printf "n\n" > $testroot/patchscript
748 33aa809d 2019-08-08 stsp (cd $testroot/wt && got revert -F $testroot/patchscript -p \
749 33aa809d 2019-08-08 stsp epsilon/new > $testroot/stdout)
751 33aa809d 2019-08-08 stsp echo "A epsilon/new" > $testroot/stdout.expected
752 33aa809d 2019-08-08 stsp echo "revert this addition? [y/n] n" >> $testroot/stdout.expected
753 33aa809d 2019-08-08 stsp cmp -s $testroot/stdout.expected $testroot/stdout
755 fc414659 2022-04-16 thomas if [ $ret -ne 0 ]; then
756 33aa809d 2019-08-08 stsp diff -u $testroot/stdout.expected $testroot/stdout
757 33aa809d 2019-08-08 stsp test_done "$testroot" "$ret"
761 33aa809d 2019-08-08 stsp (cd $testroot/wt && got status > $testroot/stdout)
762 33aa809d 2019-08-08 stsp echo "A epsilon/new" > $testroot/stdout.expected
763 33aa809d 2019-08-08 stsp cmp -s $testroot/stdout.expected $testroot/stdout
765 fc414659 2022-04-16 thomas if [ $ret -ne 0 ]; then
766 33aa809d 2019-08-08 stsp diff -u $testroot/stdout.expected $testroot/stdout
767 33aa809d 2019-08-08 stsp test_done "$testroot" "$ret"
771 33aa809d 2019-08-08 stsp printf "y\n" > $testroot/patchscript
772 33aa809d 2019-08-08 stsp (cd $testroot/wt && got revert -F $testroot/patchscript -p \
773 33aa809d 2019-08-08 stsp epsilon/new > $testroot/stdout)
775 33aa809d 2019-08-08 stsp echo "A epsilon/new" > $testroot/stdout.expected
776 33aa809d 2019-08-08 stsp echo "revert this addition? [y/n] y" >> $testroot/stdout.expected
777 33aa809d 2019-08-08 stsp echo "R epsilon/new" >> $testroot/stdout.expected
778 33aa809d 2019-08-08 stsp cmp -s $testroot/stdout.expected $testroot/stdout
780 fc414659 2022-04-16 thomas if [ $ret -ne 0 ]; then
781 33aa809d 2019-08-08 stsp diff -u $testroot/stdout.expected $testroot/stdout
782 33aa809d 2019-08-08 stsp test_done "$testroot" "$ret"
786 33aa809d 2019-08-08 stsp (cd $testroot/wt && got status > $testroot/stdout)
787 33aa809d 2019-08-08 stsp echo "? epsilon/new" > $testroot/stdout.expected
788 33aa809d 2019-08-08 stsp cmp -s $testroot/stdout.expected $testroot/stdout
790 fc414659 2022-04-16 thomas if [ $ret -ne 0 ]; then
791 33aa809d 2019-08-08 stsp diff -u $testroot/stdout.expected $testroot/stdout
793 33aa809d 2019-08-08 stsp test_done "$testroot" "$ret"
796 f6cae3ed 2020-09-13 naddy test_revert_patch_removed() {
797 33aa809d 2019-08-08 stsp local testroot=`test_init revert_patch_removed`
798 33aa809d 2019-08-08 stsp local commit_id=`git_show_head $testroot/repo`
800 33aa809d 2019-08-08 stsp got checkout $testroot/repo $testroot/wt > /dev/null
802 fc414659 2022-04-16 thomas if [ $ret -ne 0 ]; then
803 33aa809d 2019-08-08 stsp test_done "$testroot" "$ret"
807 33aa809d 2019-08-08 stsp (cd $testroot/wt && got rm beta > /dev/null)
809 33aa809d 2019-08-08 stsp printf "n\n" > $testroot/patchscript
810 33aa809d 2019-08-08 stsp (cd $testroot/wt && got revert -F $testroot/patchscript -p \
811 33aa809d 2019-08-08 stsp beta > $testroot/stdout)
812 33aa809d 2019-08-08 stsp echo "D beta" > $testroot/stdout.expected
813 33aa809d 2019-08-08 stsp echo "revert this deletion? [y/n] n" >> $testroot/stdout.expected
814 33aa809d 2019-08-08 stsp cmp -s $testroot/stdout.expected $testroot/stdout
816 fc414659 2022-04-16 thomas if [ $ret -ne 0 ]; then
817 33aa809d 2019-08-08 stsp diff -u $testroot/stdout.expected $testroot/stdout
818 33aa809d 2019-08-08 stsp test_done "$testroot" "$ret"
822 33aa809d 2019-08-08 stsp (cd $testroot/wt && got status > $testroot/stdout)
823 33aa809d 2019-08-08 stsp echo "D beta" > $testroot/stdout.expected
824 33aa809d 2019-08-08 stsp cmp -s $testroot/stdout.expected $testroot/stdout
826 fc414659 2022-04-16 thomas if [ $ret -ne 0 ]; then
827 33aa809d 2019-08-08 stsp diff -u $testroot/stdout.expected $testroot/stdout
828 33aa809d 2019-08-08 stsp test_done "$testroot" "$ret"
832 33aa809d 2019-08-08 stsp printf "y\n" > $testroot/patchscript
833 33aa809d 2019-08-08 stsp (cd $testroot/wt && got revert -F $testroot/patchscript -p \
834 33aa809d 2019-08-08 stsp beta > $testroot/stdout)
836 33aa809d 2019-08-08 stsp echo "D beta" > $testroot/stdout.expected
837 33aa809d 2019-08-08 stsp echo "revert this deletion? [y/n] y" >> $testroot/stdout.expected
838 33aa809d 2019-08-08 stsp echo "R beta" >> $testroot/stdout.expected
839 33aa809d 2019-08-08 stsp cmp -s $testroot/stdout.expected $testroot/stdout
841 fc414659 2022-04-16 thomas if [ $ret -ne 0 ]; then
842 33aa809d 2019-08-08 stsp diff -u $testroot/stdout.expected $testroot/stdout
843 33aa809d 2019-08-08 stsp test_done "$testroot" "$ret"
847 33aa809d 2019-08-08 stsp (cd $testroot/wt && got status > $testroot/stdout)
848 33aa809d 2019-08-08 stsp echo -n > $testroot/stdout.expected
849 33aa809d 2019-08-08 stsp cmp -s $testroot/stdout.expected $testroot/stdout
851 fc414659 2022-04-16 thomas if [ $ret -ne 0 ]; then
852 33aa809d 2019-08-08 stsp diff -u $testroot/stdout.expected $testroot/stdout
854 33aa809d 2019-08-08 stsp test_done "$testroot" "$ret"
857 f6cae3ed 2020-09-13 naddy test_revert_patch_one_change() {
858 f1e81a05 2019-08-10 stsp local testroot=`test_init revert_patch_one_change`
860 f1e81a05 2019-08-10 stsp jot 16 > $testroot/repo/numbers
861 f1e81a05 2019-08-10 stsp (cd $testroot/repo && git add numbers)
862 f1e81a05 2019-08-10 stsp git_commit $testroot/repo -m "added numbers file"
863 f1e81a05 2019-08-10 stsp local commit_id=`git_show_head $testroot/repo`
865 f1e81a05 2019-08-10 stsp got checkout $testroot/repo $testroot/wt > /dev/null
867 fc414659 2022-04-16 thomas if [ $ret -ne 0 ]; then
868 f1e81a05 2019-08-10 stsp test_done "$testroot" "$ret"
872 6c6b73bb 2019-08-10 stsp # Ensure file size is changed. Avoids race condition causing test
873 6c6b73bb 2019-08-10 stsp # failures where 'got revert' does not see changes to revert if
874 6c6b73bb 2019-08-10 stsp # timestamps and size in stat info remain unchanged.
875 ac3cdf31 2023-03-06 thomas ed -s $testroot/wt/numbers <<-\EOF
876 ac3cdf31 2023-03-06 thomas ,s/^2$/aa/
880 f1e81a05 2019-08-10 stsp # revert change with -p
881 f1e81a05 2019-08-10 stsp printf "y\n" > $testroot/patchscript
882 f1e81a05 2019-08-10 stsp (cd $testroot/wt && got revert -F $testroot/patchscript -p \
883 f1e81a05 2019-08-10 stsp numbers > $testroot/stdout)
885 fc414659 2022-04-16 thomas if [ $ret -ne 0 ]; then
886 f1e81a05 2019-08-10 stsp echo "got revert command failed unexpectedly" >&2
887 f1e81a05 2019-08-10 stsp test_done "$testroot" "1"
890 f1e81a05 2019-08-10 stsp cat > $testroot/stdout.expected <<EOF
891 f1e81a05 2019-08-10 stsp -----------------------------------------------
892 f1e81a05 2019-08-10 stsp @@ -1,5 +1,5 @@
899 f1e81a05 2019-08-10 stsp -----------------------------------------------
900 f1e81a05 2019-08-10 stsp M numbers (change 1 of 1)
901 f1e81a05 2019-08-10 stsp revert this change? [y/n/q] y
904 fc414659 2022-04-16 thomas if [ $ret -ne 0 ]; then
905 6c6b73bb 2019-08-10 stsp echo "got revert command failed unexpectedly" >&2
906 6c6b73bb 2019-08-10 stsp test_done "$testroot" "1"
910 f1e81a05 2019-08-10 stsp cmp -s $testroot/stdout.expected $testroot/stdout
912 fc414659 2022-04-16 thomas if [ $ret -ne 0 ]; then
913 f1e81a05 2019-08-10 stsp diff -u $testroot/stdout.expected $testroot/stdout
914 f1e81a05 2019-08-10 stsp test_done "$testroot" "$ret"
918 f1e81a05 2019-08-10 stsp (cd $testroot/wt && got status > $testroot/stdout)
919 f1e81a05 2019-08-10 stsp echo -n > $testroot/stdout.expected
920 f1e81a05 2019-08-10 stsp cmp -s $testroot/stdout.expected $testroot/stdout
922 fc414659 2022-04-16 thomas if [ $ret -ne 0 ]; then
923 f1e81a05 2019-08-10 stsp diff -u $testroot/stdout.expected $testroot/stdout
924 f1e81a05 2019-08-10 stsp test_done "$testroot" "$ret"
928 f1e81a05 2019-08-10 stsp (cd $testroot/wt && got diff > $testroot/stdout)
929 f1e81a05 2019-08-10 stsp echo -n > $testroot/stdout.expected
930 f1e81a05 2019-08-10 stsp cmp -s $testroot/stdout.expected $testroot/stdout
932 fc414659 2022-04-16 thomas if [ $ret -ne 0 ]; then
933 f1e81a05 2019-08-10 stsp diff -u $testroot/stdout.expected $testroot/stdout
935 f1e81a05 2019-08-10 stsp test_done "$testroot" "$ret"
938 f6cae3ed 2020-09-13 naddy test_revert_added_subtree() {
939 a46b9f33 2020-01-28 stsp local testroot=`test_init revert_added_subtree`
941 a46b9f33 2020-01-28 stsp got checkout $testroot/repo $testroot/wt > /dev/null
943 fc414659 2022-04-16 thomas if [ $ret -ne 0 ]; then
944 a46b9f33 2020-01-28 stsp test_done "$testroot" "$ret"
948 a46b9f33 2020-01-28 stsp mkdir -p $testroot/wt/epsilon/foo/bar/baz
949 a46b9f33 2020-01-28 stsp mkdir -p $testroot/wt/epsilon/foo/bar/bax
950 a46b9f33 2020-01-28 stsp echo "new file" > $testroot/wt/epsilon/foo/a.o
951 a46b9f33 2020-01-28 stsp echo "new file" > $testroot/wt/epsilon/foo/a.o
952 a46b9f33 2020-01-28 stsp echo "new file" > $testroot/wt/epsilon/foo/bar/b.o
953 a46b9f33 2020-01-28 stsp echo "new file" > $testroot/wt/epsilon/foo/bar/b.d
954 a46b9f33 2020-01-28 stsp echo "new file" > $testroot/wt/epsilon/foo/bar/baz/f.o
955 a46b9f33 2020-01-28 stsp echo "new file" > $testroot/wt/epsilon/foo/bar/baz/f.d
956 a46b9f33 2020-01-28 stsp echo "new file" > $testroot/wt/epsilon/foo/bar/baz/c.o
957 a46b9f33 2020-01-28 stsp echo "new file" > $testroot/wt/epsilon/foo/bar/baz/c.d
958 a46b9f33 2020-01-28 stsp echo "new file" > $testroot/wt/epsilon/foo/bar/bax/e.o
959 a46b9f33 2020-01-28 stsp echo "new file" > $testroot/wt/epsilon/foo/bar/bax/e.d
960 a46b9f33 2020-01-28 stsp echo "new file" > $testroot/wt/epsilon/foo/bar/bax/x.o
961 a46b9f33 2020-01-28 stsp echo "new file" > $testroot/wt/epsilon/foo/bar/bax/x.d
962 a46b9f33 2020-01-28 stsp (cd $testroot/wt && got add -R epsilon >/dev/null)
964 a46b9f33 2020-01-28 stsp echo "R epsilon/foo/a.o" > $testroot/stdout.expected
965 a46b9f33 2020-01-28 stsp echo "R epsilon/foo/bar/b.d" >> $testroot/stdout.expected
966 a46b9f33 2020-01-28 stsp echo "R epsilon/foo/bar/b.o" >> $testroot/stdout.expected
967 a46b9f33 2020-01-28 stsp echo "R epsilon/foo/bar/bax/e.d" >> $testroot/stdout.expected
968 a46b9f33 2020-01-28 stsp echo "R epsilon/foo/bar/bax/e.o" >> $testroot/stdout.expected
969 a46b9f33 2020-01-28 stsp echo "R epsilon/foo/bar/bax/x.d" >> $testroot/stdout.expected
970 a46b9f33 2020-01-28 stsp echo "R epsilon/foo/bar/bax/x.o" >> $testroot/stdout.expected
971 a46b9f33 2020-01-28 stsp echo "R epsilon/foo/bar/baz/c.d" >> $testroot/stdout.expected
972 a46b9f33 2020-01-28 stsp echo "R epsilon/foo/bar/baz/c.o" >> $testroot/stdout.expected
973 a46b9f33 2020-01-28 stsp echo "R epsilon/foo/bar/baz/f.d" >> $testroot/stdout.expected
974 a46b9f33 2020-01-28 stsp echo "R epsilon/foo/bar/baz/f.o" >> $testroot/stdout.expected
976 a46b9f33 2020-01-28 stsp (cd $testroot/wt && got revert -R . > $testroot/stdout)
978 a46b9f33 2020-01-28 stsp cmp -s $testroot/stdout.expected $testroot/stdout
980 fc414659 2022-04-16 thomas if [ $ret -ne 0 ]; then
981 a46b9f33 2020-01-28 stsp diff -u $testroot/stdout.expected $testroot/stdout
982 a46b9f33 2020-01-28 stsp test_done "$testroot" "$ret"
986 a46b9f33 2020-01-28 stsp echo "? epsilon/foo/a.o" > $testroot/stdout.expected
987 a46b9f33 2020-01-28 stsp echo "? epsilon/foo/bar/b.d" >> $testroot/stdout.expected
988 a46b9f33 2020-01-28 stsp echo "? epsilon/foo/bar/b.o" >> $testroot/stdout.expected
989 a46b9f33 2020-01-28 stsp echo "? epsilon/foo/bar/bax/e.d" >> $testroot/stdout.expected
990 a46b9f33 2020-01-28 stsp echo "? epsilon/foo/bar/bax/e.o" >> $testroot/stdout.expected
991 a46b9f33 2020-01-28 stsp echo "? epsilon/foo/bar/bax/x.d" >> $testroot/stdout.expected
992 a46b9f33 2020-01-28 stsp echo "? epsilon/foo/bar/bax/x.o" >> $testroot/stdout.expected
993 a46b9f33 2020-01-28 stsp echo "? epsilon/foo/bar/baz/c.d" >> $testroot/stdout.expected
994 a46b9f33 2020-01-28 stsp echo "? epsilon/foo/bar/baz/c.o" >> $testroot/stdout.expected
995 a46b9f33 2020-01-28 stsp echo "? epsilon/foo/bar/baz/f.d" >> $testroot/stdout.expected
996 a46b9f33 2020-01-28 stsp echo "? epsilon/foo/bar/baz/f.o" >> $testroot/stdout.expected
998 15341bfd 2020-03-05 tracey (cd $testroot/wt && got status > $testroot/stdout)
1000 15341bfd 2020-03-05 tracey cmp -s $testroot/stdout.expected $testroot/stdout
1002 fc414659 2022-04-16 thomas if [ $ret -ne 0 ]; then
1003 15341bfd 2020-03-05 tracey diff -u $testroot/stdout.expected $testroot/stdout
1005 15341bfd 2020-03-05 tracey test_done "$testroot" "$ret"
1008 f6cae3ed 2020-09-13 naddy test_revert_deleted_subtree() {
1009 15341bfd 2020-03-05 tracey local testroot=`test_init revert_deleted_subtree`
1011 15341bfd 2020-03-05 tracey got checkout $testroot/repo $testroot/wt > /dev/null
1013 fc414659 2022-04-16 thomas if [ $ret -ne 0 ]; then
1014 15341bfd 2020-03-05 tracey test_done "$testroot" "$ret"
1015 15341bfd 2020-03-05 tracey return 1
1018 15341bfd 2020-03-05 tracey mkdir -p $testroot/wt/epsilon/foo/bar/baz
1019 15341bfd 2020-03-05 tracey mkdir -p $testroot/wt/epsilon/foo/bar/bax
1020 15341bfd 2020-03-05 tracey echo "new file" > $testroot/wt/epsilon/foo/a.o
1021 15341bfd 2020-03-05 tracey echo "new file" > $testroot/wt/epsilon/foo/a.o
1022 15341bfd 2020-03-05 tracey echo "new file" > $testroot/wt/epsilon/foo/bar/b.o
1023 15341bfd 2020-03-05 tracey echo "new file" > $testroot/wt/epsilon/foo/bar/b.d
1024 15341bfd 2020-03-05 tracey echo "new file" > $testroot/wt/epsilon/foo/bar/baz/f.o
1025 15341bfd 2020-03-05 tracey echo "new file" > $testroot/wt/epsilon/foo/bar/baz/f.d
1026 15341bfd 2020-03-05 tracey echo "new file" > $testroot/wt/epsilon/foo/bar/baz/c.o
1027 15341bfd 2020-03-05 tracey echo "new file" > $testroot/wt/epsilon/foo/bar/baz/c.d
1028 15341bfd 2020-03-05 tracey echo "new file" > $testroot/wt/epsilon/foo/bar/bax/e.o
1029 15341bfd 2020-03-05 tracey echo "new file" > $testroot/wt/epsilon/foo/bar/bax/e.d
1030 15341bfd 2020-03-05 tracey echo "new file" > $testroot/wt/epsilon/foo/bar/bax/x.o
1031 15341bfd 2020-03-05 tracey echo "new file" > $testroot/wt/epsilon/foo/bar/bax/x.d
1032 15341bfd 2020-03-05 tracey (cd $testroot/wt && got add -R epsilon >/dev/null)
1033 15341bfd 2020-03-05 tracey (cd $testroot/wt && got commit -m "add subtree" >/dev/null)
1035 15341bfd 2020-03-05 tracey # now delete and revert the entire subtree
1036 15341bfd 2020-03-05 tracey (cd $testroot/wt && got rm -R epsilon/foo >/dev/null)
1038 15341bfd 2020-03-05 tracey echo "R epsilon/foo/a.o" > $testroot/stdout.expected
1039 15341bfd 2020-03-05 tracey echo "R epsilon/foo/bar/b.d" >> $testroot/stdout.expected
1040 15341bfd 2020-03-05 tracey echo "R epsilon/foo/bar/b.o" >> $testroot/stdout.expected
1041 15341bfd 2020-03-05 tracey echo "R epsilon/foo/bar/bax/e.d" >> $testroot/stdout.expected
1042 15341bfd 2020-03-05 tracey echo "R epsilon/foo/bar/bax/e.o" >> $testroot/stdout.expected
1043 15341bfd 2020-03-05 tracey echo "R epsilon/foo/bar/bax/x.d" >> $testroot/stdout.expected
1044 15341bfd 2020-03-05 tracey echo "R epsilon/foo/bar/bax/x.o" >> $testroot/stdout.expected
1045 15341bfd 2020-03-05 tracey echo "R epsilon/foo/bar/baz/c.d" >> $testroot/stdout.expected
1046 15341bfd 2020-03-05 tracey echo "R epsilon/foo/bar/baz/c.o" >> $testroot/stdout.expected
1047 15341bfd 2020-03-05 tracey echo "R epsilon/foo/bar/baz/f.d" >> $testroot/stdout.expected
1048 15341bfd 2020-03-05 tracey echo "R epsilon/foo/bar/baz/f.o" >> $testroot/stdout.expected
1050 15341bfd 2020-03-05 tracey (cd $testroot/wt && got revert -R . > $testroot/stdout)
1052 15341bfd 2020-03-05 tracey cmp -s $testroot/stdout.expected $testroot/stdout
1054 fc414659 2022-04-16 thomas if [ $ret -ne 0 ]; then
1055 15341bfd 2020-03-05 tracey diff -u $testroot/stdout.expected $testroot/stdout
1056 15341bfd 2020-03-05 tracey test_done "$testroot" "$ret"
1057 15341bfd 2020-03-05 tracey return 1
1060 15341bfd 2020-03-05 tracey echo -n > $testroot/stdout.expected
1061 a46b9f33 2020-01-28 stsp (cd $testroot/wt && got status > $testroot/stdout)
1063 a46b9f33 2020-01-28 stsp cmp -s $testroot/stdout.expected $testroot/stdout
1065 fc414659 2022-04-16 thomas if [ $ret -ne 0 ]; then
1066 a46b9f33 2020-01-28 stsp diff -u $testroot/stdout.expected $testroot/stdout
1068 a46b9f33 2020-01-28 stsp test_done "$testroot" "$ret"
1071 f6cae3ed 2020-09-13 naddy test_revert_symlink() {
1072 4901ccfc 2020-07-23 stsp local testroot=`test_init revert_symlink`
1074 4901ccfc 2020-07-23 stsp (cd $testroot/repo && ln -s alpha alpha.link)
1075 4901ccfc 2020-07-23 stsp (cd $testroot/repo && ln -s epsilon epsilon.link)
1076 4901ccfc 2020-07-23 stsp (cd $testroot/repo && ln -s /etc/passwd passwd.link)
1077 4901ccfc 2020-07-23 stsp (cd $testroot/repo && ln -s ../beta epsilon/beta.link)
1078 4901ccfc 2020-07-23 stsp (cd $testroot/repo && ln -s nonexistent nonexistent.link)
1079 4901ccfc 2020-07-23 stsp (cd $testroot/repo && ln -sf epsilon/zeta zeta.link)
1080 4901ccfc 2020-07-23 stsp (cd $testroot/repo && git add .)
1081 4901ccfc 2020-07-23 stsp git_commit $testroot/repo -m "add symlinks"
1082 4901ccfc 2020-07-23 stsp local commit_id1=`git_show_head $testroot/repo`
1084 4901ccfc 2020-07-23 stsp got checkout $testroot/repo $testroot/wt > /dev/null
1086 4901ccfc 2020-07-23 stsp # symlink to file A now points to file B
1087 4901ccfc 2020-07-23 stsp (cd $testroot/wt && ln -sf gamma/delta alpha.link)
1088 4901ccfc 2020-07-23 stsp # symlink to a directory A now points to file B
1089 e6f45b72 2023-03-03 thomas (cd $testroot/wt && rm epsilon.link && ln -s beta epsilon.link)
1090 4901ccfc 2020-07-23 stsp # "bad" symlink now contains a different target path
1091 4901ccfc 2020-07-23 stsp echo "foo" > $testroot/wt/passwd.link
1092 4901ccfc 2020-07-23 stsp # relative symlink to directory A now points to relative directory B
1093 e6f45b72 2023-03-03 thomas (cd $testroot/wt && rm epsilon/beta.link && ln -s ../gamma \
1094 e6f45b72 2023-03-03 thomas epsilon/beta.link)
1095 4901ccfc 2020-07-23 stsp # an unversioned symlink
1096 4901ccfc 2020-07-23 stsp (cd $testroot/wt && ln -sf .got/foo dotgotfoo.link)
1097 4901ccfc 2020-07-23 stsp # symlink to file A now points to non-existent file B
1098 4901ccfc 2020-07-23 stsp (cd $testroot/wt && ln -sf nonexistent2 nonexistent.link)
1099 4901ccfc 2020-07-23 stsp # removed symlink
1100 4901ccfc 2020-07-23 stsp (cd $testroot/wt && got rm zeta.link > /dev/null)
1101 4901ccfc 2020-07-23 stsp # added symlink
1102 4901ccfc 2020-07-23 stsp (cd $testroot/wt && ln -sf beta new.link)
1103 4901ccfc 2020-07-23 stsp (cd $testroot/wt && got add new.link > /dev/null)
1105 4901ccfc 2020-07-23 stsp (cd $testroot/wt && got revert alpha.link epsilon.link \
1106 4901ccfc 2020-07-23 stsp passwd.link epsilon/beta.link dotgotfoo.link \
1107 4901ccfc 2020-07-23 stsp nonexistent.link zeta.link new.link > $testroot/stdout)
1109 4901ccfc 2020-07-23 stsp cat > $testroot/stdout.expected <<EOF
1110 4901ccfc 2020-07-23 stsp R alpha.link
1111 4901ccfc 2020-07-23 stsp R epsilon/beta.link
1112 f1417e9f 2021-10-12 thomas R epsilon.link
1113 f1417e9f 2021-10-12 thomas R new.link
1114 4901ccfc 2020-07-23 stsp R nonexistent.link
1115 f1417e9f 2021-10-12 thomas R passwd.link
1116 4901ccfc 2020-07-23 stsp R zeta.link
1118 4901ccfc 2020-07-23 stsp cmp -s $testroot/stdout.expected $testroot/stdout
1120 fc414659 2022-04-16 thomas if [ $ret -ne 0 ]; then
1121 4901ccfc 2020-07-23 stsp diff -u $testroot/stdout.expected $testroot/stdout
1122 4901ccfc 2020-07-23 stsp test_done "$testroot" "$ret"
1126 4901ccfc 2020-07-23 stsp if ! [ -h $testroot/wt/alpha.link ]; then
1127 4901ccfc 2020-07-23 stsp echo "alpha.link is not a symlink"
1128 4901ccfc 2020-07-23 stsp test_done "$testroot" "1"
1132 4901ccfc 2020-07-23 stsp readlink $testroot/wt/alpha.link > $testroot/stdout
1133 4901ccfc 2020-07-23 stsp echo "alpha" > $testroot/stdout.expected
1134 4901ccfc 2020-07-23 stsp cmp -s $testroot/stdout.expected $testroot/stdout
1136 fc414659 2022-04-16 thomas if [ $ret -ne 0 ]; then
1137 4901ccfc 2020-07-23 stsp diff -u $testroot/stdout.expected $testroot/stdout
1138 4901ccfc 2020-07-23 stsp test_done "$testroot" "$ret"
1142 4901ccfc 2020-07-23 stsp if ! [ -h $testroot/wt/epsilon.link ]; then
1143 4901ccfc 2020-07-23 stsp echo "epsilon.link is not a symlink"
1144 4901ccfc 2020-07-23 stsp test_done "$testroot" "1"
1148 4901ccfc 2020-07-23 stsp readlink $testroot/wt/epsilon.link > $testroot/stdout
1149 4901ccfc 2020-07-23 stsp echo "epsilon" > $testroot/stdout.expected
1150 4901ccfc 2020-07-23 stsp cmp -s $testroot/stdout.expected $testroot/stdout
1152 fc414659 2022-04-16 thomas if [ $ret -ne 0 ]; then
1153 4901ccfc 2020-07-23 stsp diff -u $testroot/stdout.expected $testroot/stdout
1154 4901ccfc 2020-07-23 stsp test_done "$testroot" "$ret"
1158 4901ccfc 2020-07-23 stsp if [ -h $testroot/wt/passwd.link ]; then
1159 4901ccfc 2020-07-23 stsp echo "passwd.link should not be a symlink" >&2
1160 4901ccfc 2020-07-23 stsp test_done "$testroot" "1"
1164 4901ccfc 2020-07-23 stsp echo -n "/etc/passwd" > $testroot/content.expected
1165 4901ccfc 2020-07-23 stsp cp $testroot/wt/passwd.link $testroot/content
1167 4901ccfc 2020-07-23 stsp cmp -s $testroot/content.expected $testroot/content
1169 fc414659 2022-04-16 thomas if [ $ret -ne 0 ]; then
1170 4901ccfc 2020-07-23 stsp diff -u $testroot/content.expected $testroot/content
1171 4901ccfc 2020-07-23 stsp test_done "$testroot" "$ret"
1175 4901ccfc 2020-07-23 stsp readlink $testroot/wt/epsilon/beta.link > $testroot/stdout
1176 4901ccfc 2020-07-23 stsp echo "../beta" > $testroot/stdout.expected
1177 4901ccfc 2020-07-23 stsp cmp -s $testroot/stdout.expected $testroot/stdout
1179 fc414659 2022-04-16 thomas if [ $ret -ne 0 ]; then
1180 4901ccfc 2020-07-23 stsp diff -u $testroot/stdout.expected $testroot/stdout
1181 4901ccfc 2020-07-23 stsp test_done "$testroot" "$ret"
1185 4901ccfc 2020-07-23 stsp readlink $testroot/wt/nonexistent.link > $testroot/stdout
1186 4901ccfc 2020-07-23 stsp echo "nonexistent" > $testroot/stdout.expected
1187 4901ccfc 2020-07-23 stsp cmp -s $testroot/stdout.expected $testroot/stdout
1189 fc414659 2022-04-16 thomas if [ $ret -ne 0 ]; then
1190 4901ccfc 2020-07-23 stsp diff -u $testroot/stdout.expected $testroot/stdout
1191 4901ccfc 2020-07-23 stsp test_done "$testroot" "$ret"
1195 4901ccfc 2020-07-23 stsp if [ ! -h $testroot/wt/dotgotfoo.link ]; then
1196 4901ccfc 2020-07-23 stsp echo "dotgotfoo.link is not a symlink " >&2
1197 4901ccfc 2020-07-23 stsp test_done "$testroot" "1"
1200 4901ccfc 2020-07-23 stsp readlink $testroot/wt/dotgotfoo.link > $testroot/stdout
1201 4901ccfc 2020-07-23 stsp echo ".got/foo" > $testroot/stdout.expected
1202 4901ccfc 2020-07-23 stsp cmp -s $testroot/stdout.expected $testroot/stdout
1204 fc414659 2022-04-16 thomas if [ $ret -ne 0 ]; then
1205 4901ccfc 2020-07-23 stsp diff -u $testroot/stdout.expected $testroot/stdout
1206 4901ccfc 2020-07-23 stsp test_done "$testroot" "$ret"
1210 4901ccfc 2020-07-23 stsp if [ ! -h $testroot/wt/zeta.link ]; then
1211 4901ccfc 2020-07-23 stsp echo -n "zeta.link is not a symlink" >&2
1212 4901ccfc 2020-07-23 stsp test_done "$testroot" "1"
1216 4901ccfc 2020-07-23 stsp readlink $testroot/wt/zeta.link > $testroot/stdout
1217 4901ccfc 2020-07-23 stsp echo "epsilon/zeta" > $testroot/stdout.expected
1218 4901ccfc 2020-07-23 stsp cmp -s $testroot/stdout.expected $testroot/stdout
1220 fc414659 2022-04-16 thomas if [ $ret -ne 0 ]; then
1221 4901ccfc 2020-07-23 stsp diff -u $testroot/stdout.expected $testroot/stdout
1222 4901ccfc 2020-07-23 stsp test_done "$testroot" "$ret"
1226 4901ccfc 2020-07-23 stsp if [ ! -h $testroot/wt/new.link ]; then
1227 4901ccfc 2020-07-23 stsp echo -n "new.link is not a symlink" >&2
1228 4901ccfc 2020-07-23 stsp test_done "$testroot" "1"
1232 4901ccfc 2020-07-23 stsp (cd $testroot/wt && got status > $testroot/stdout)
1233 4901ccfc 2020-07-23 stsp echo "? dotgotfoo.link" > $testroot/stdout.expected
1234 4901ccfc 2020-07-23 stsp echo "? new.link" >> $testroot/stdout.expected
1235 4901ccfc 2020-07-23 stsp cmp -s $testroot/stdout.expected $testroot/stdout
1237 fc414659 2022-04-16 thomas if [ $ret -ne 0 ]; then
1238 4901ccfc 2020-07-23 stsp diff -u $testroot/stdout.expected $testroot/stdout
1241 4901ccfc 2020-07-23 stsp test_done "$testroot" "$ret"
1244 f6cae3ed 2020-09-13 naddy test_revert_patch_symlink() {
1245 369fd7e5 2020-07-23 stsp local testroot=`test_init revert_patch_symlink`
1247 369fd7e5 2020-07-23 stsp (cd $testroot/repo && ln -s alpha alpha.link)
1248 369fd7e5 2020-07-23 stsp (cd $testroot/repo && ln -s epsilon epsilon.link)
1249 369fd7e5 2020-07-23 stsp (cd $testroot/repo && ln -s /etc/passwd passwd.link)
1250 369fd7e5 2020-07-23 stsp (cd $testroot/repo && ln -s ../beta epsilon/beta.link)
1251 369fd7e5 2020-07-23 stsp (cd $testroot/repo && ln -s nonexistent nonexistent.link)
1252 369fd7e5 2020-07-23 stsp (cd $testroot/repo && ln -sf epsilon/zeta zeta.link)
1253 369fd7e5 2020-07-23 stsp (cd $testroot/repo && ln -sf epsilon/zeta zeta2.link)
1254 369fd7e5 2020-07-23 stsp (cd $testroot/repo && git add .)
1255 369fd7e5 2020-07-23 stsp git_commit $testroot/repo -m "add symlinks"
1256 369fd7e5 2020-07-23 stsp local commit_id1=`git_show_head $testroot/repo`
1258 369fd7e5 2020-07-23 stsp got checkout $testroot/repo $testroot/wt > /dev/null
1260 369fd7e5 2020-07-23 stsp # symlink to file A now points to file B
1261 369fd7e5 2020-07-23 stsp (cd $testroot/wt && ln -sf gamma/delta alpha.link)
1262 369fd7e5 2020-07-23 stsp # symlink to a directory A now points to file B
1263 e6f45b72 2023-03-03 thomas (cd $testroot/wt && rm epsilon.link && ln -s beta epsilon.link)
1264 369fd7e5 2020-07-23 stsp # "bad" symlink now contains a different target path
1265 369fd7e5 2020-07-23 stsp echo "foo" > $testroot/wt/passwd.link
1266 369fd7e5 2020-07-23 stsp # relative symlink to directory A now points to relative directory B
1267 e6f45b72 2023-03-03 thomas (cd $testroot/wt && rm epsilon/beta.link && ln -s ../gamma \
1268 e6f45b72 2023-03-03 thomas epsilon/beta.link)
1269 369fd7e5 2020-07-23 stsp # an unversioned symlink
1270 369fd7e5 2020-07-23 stsp (cd $testroot/wt && ln -sf .got/foo dotgotfoo.link)
1271 369fd7e5 2020-07-23 stsp # symlink to file A now points to non-existent file B
1272 369fd7e5 2020-07-23 stsp (cd $testroot/wt && ln -sf nonexistent2 nonexistent.link)
1273 369fd7e5 2020-07-23 stsp # removed symlink
1274 369fd7e5 2020-07-23 stsp (cd $testroot/wt && got rm zeta.link > /dev/null)
1275 369fd7e5 2020-07-23 stsp (cd $testroot/wt && got rm zeta2.link > /dev/null)
1276 369fd7e5 2020-07-23 stsp # added symlink
1277 369fd7e5 2020-07-23 stsp (cd $testroot/wt && ln -sf beta new.link)
1278 369fd7e5 2020-07-23 stsp (cd $testroot/wt && got add new.link > /dev/null)
1279 369fd7e5 2020-07-23 stsp (cd $testroot/wt && ln -sf beta zeta3.link)
1280 369fd7e5 2020-07-23 stsp (cd $testroot/wt && got add zeta3.link > /dev/null)
1282 369fd7e5 2020-07-23 stsp printf "y\nn\ny\nn\ny\ny\nn\ny\ny\n" > $testroot/patchscript
1283 369fd7e5 2020-07-23 stsp (cd $testroot/wt && got revert -F $testroot/patchscript -p -R . \
1284 369fd7e5 2020-07-23 stsp > $testroot/stdout)
1286 fc414659 2022-04-16 thomas if [ $ret -ne 0 ]; then
1287 369fd7e5 2020-07-23 stsp echo "got revert command failed unexpectedly" >&2
1288 369fd7e5 2020-07-23 stsp test_done "$testroot" "1"
1291 369fd7e5 2020-07-23 stsp cat > $testroot/stdout.expected <<EOF
1292 369fd7e5 2020-07-23 stsp -----------------------------------------------
1293 369fd7e5 2020-07-23 stsp @@ -1 +1 @@
1295 369fd7e5 2020-07-23 stsp \ No newline at end of file
1296 369fd7e5 2020-07-23 stsp +gamma/delta
1297 369fd7e5 2020-07-23 stsp \ No newline at end of file
1298 369fd7e5 2020-07-23 stsp -----------------------------------------------
1299 369fd7e5 2020-07-23 stsp M alpha.link (change 1 of 1)
1300 369fd7e5 2020-07-23 stsp revert this change? [y/n/q] y
1301 369fd7e5 2020-07-23 stsp R alpha.link
1302 369fd7e5 2020-07-23 stsp -----------------------------------------------
1303 369fd7e5 2020-07-23 stsp @@ -1 +1 @@
1305 369fd7e5 2020-07-23 stsp \ No newline at end of file
1307 369fd7e5 2020-07-23 stsp \ No newline at end of file
1308 369fd7e5 2020-07-23 stsp -----------------------------------------------
1309 369fd7e5 2020-07-23 stsp M epsilon/beta.link (change 1 of 1)
1310 369fd7e5 2020-07-23 stsp revert this change? [y/n/q] n
1311 369fd7e5 2020-07-23 stsp -----------------------------------------------
1312 369fd7e5 2020-07-23 stsp @@ -1 +1 @@
1314 369fd7e5 2020-07-23 stsp \ No newline at end of file
1316 369fd7e5 2020-07-23 stsp \ No newline at end of file
1317 369fd7e5 2020-07-23 stsp -----------------------------------------------
1318 369fd7e5 2020-07-23 stsp M epsilon.link (change 1 of 1)
1319 369fd7e5 2020-07-23 stsp revert this change? [y/n/q] y
1320 369fd7e5 2020-07-23 stsp R epsilon.link
1321 369fd7e5 2020-07-23 stsp A new.link
1322 369fd7e5 2020-07-23 stsp revert this addition? [y/n] n
1323 369fd7e5 2020-07-23 stsp -----------------------------------------------
1324 369fd7e5 2020-07-23 stsp @@ -1 +1 @@
1325 369fd7e5 2020-07-23 stsp -nonexistent
1326 369fd7e5 2020-07-23 stsp \ No newline at end of file
1327 369fd7e5 2020-07-23 stsp +nonexistent2
1328 369fd7e5 2020-07-23 stsp \ No newline at end of file
1329 369fd7e5 2020-07-23 stsp -----------------------------------------------
1330 369fd7e5 2020-07-23 stsp M nonexistent.link (change 1 of 1)
1331 369fd7e5 2020-07-23 stsp revert this change? [y/n/q] y
1332 369fd7e5 2020-07-23 stsp R nonexistent.link
1333 369fd7e5 2020-07-23 stsp -----------------------------------------------
1334 369fd7e5 2020-07-23 stsp @@ -1 +1 @@
1335 369fd7e5 2020-07-23 stsp -/etc/passwd
1336 369fd7e5 2020-07-23 stsp \ No newline at end of file
1338 369fd7e5 2020-07-23 stsp -----------------------------------------------
1339 369fd7e5 2020-07-23 stsp M passwd.link (change 1 of 1)
1340 369fd7e5 2020-07-23 stsp revert this change? [y/n/q] y
1341 369fd7e5 2020-07-23 stsp R passwd.link
1342 369fd7e5 2020-07-23 stsp D zeta.link
1343 369fd7e5 2020-07-23 stsp revert this deletion? [y/n] n
1344 369fd7e5 2020-07-23 stsp D zeta2.link
1345 369fd7e5 2020-07-23 stsp revert this deletion? [y/n] y
1346 369fd7e5 2020-07-23 stsp R zeta2.link
1347 369fd7e5 2020-07-23 stsp A zeta3.link
1348 369fd7e5 2020-07-23 stsp revert this addition? [y/n] y
1349 369fd7e5 2020-07-23 stsp R zeta3.link
1351 369fd7e5 2020-07-23 stsp cmp -s $testroot/stdout.expected $testroot/stdout
1353 fc414659 2022-04-16 thomas if [ $ret -ne 0 ]; then
1354 369fd7e5 2020-07-23 stsp diff -u $testroot/stdout.expected $testroot/stdout
1355 369fd7e5 2020-07-23 stsp test_done "$testroot" "$ret"
1359 369fd7e5 2020-07-23 stsp if ! [ -h $testroot/wt/alpha.link ]; then
1360 369fd7e5 2020-07-23 stsp echo "alpha.link is not a symlink"
1361 369fd7e5 2020-07-23 stsp test_done "$testroot" "1"
1365 369fd7e5 2020-07-23 stsp readlink $testroot/wt/alpha.link > $testroot/stdout
1366 369fd7e5 2020-07-23 stsp echo "alpha" > $testroot/stdout.expected
1367 369fd7e5 2020-07-23 stsp cmp -s $testroot/stdout.expected $testroot/stdout
1369 fc414659 2022-04-16 thomas if [ $ret -ne 0 ]; then
1370 369fd7e5 2020-07-23 stsp diff -u $testroot/stdout.expected $testroot/stdout
1371 369fd7e5 2020-07-23 stsp test_done "$testroot" "$ret"
1375 369fd7e5 2020-07-23 stsp if ! [ -h $testroot/wt/epsilon.link ]; then
1376 369fd7e5 2020-07-23 stsp echo "epsilon.link is not a symlink"
1377 369fd7e5 2020-07-23 stsp test_done "$testroot" "1"
1381 369fd7e5 2020-07-23 stsp readlink $testroot/wt/epsilon.link > $testroot/stdout
1382 369fd7e5 2020-07-23 stsp echo "epsilon" > $testroot/stdout.expected
1383 369fd7e5 2020-07-23 stsp cmp -s $testroot/stdout.expected $testroot/stdout
1385 fc414659 2022-04-16 thomas if [ $ret -ne 0 ]; then
1386 369fd7e5 2020-07-23 stsp diff -u $testroot/stdout.expected $testroot/stdout
1387 369fd7e5 2020-07-23 stsp test_done "$testroot" "$ret"
1391 369fd7e5 2020-07-23 stsp if [ -h $testroot/wt/passwd.link ]; then
1392 369fd7e5 2020-07-23 stsp echo "passwd.link should not be a symlink" >&2
1393 369fd7e5 2020-07-23 stsp test_done "$testroot" "1"
1397 369fd7e5 2020-07-23 stsp echo -n "/etc/passwd" > $testroot/content.expected
1398 369fd7e5 2020-07-23 stsp cp $testroot/wt/passwd.link $testroot/content
1400 369fd7e5 2020-07-23 stsp cmp -s $testroot/content.expected $testroot/content
1402 fc414659 2022-04-16 thomas if [ $ret -ne 0 ]; then
1403 369fd7e5 2020-07-23 stsp diff -u $testroot/content.expected $testroot/content
1404 369fd7e5 2020-07-23 stsp test_done "$testroot" "$ret"
1408 369fd7e5 2020-07-23 stsp readlink $testroot/wt/epsilon/beta.link > $testroot/stdout
1409 369fd7e5 2020-07-23 stsp echo "../gamma" > $testroot/stdout.expected
1410 369fd7e5 2020-07-23 stsp cmp -s $testroot/stdout.expected $testroot/stdout
1412 fc414659 2022-04-16 thomas if [ $ret -ne 0 ]; then
1413 369fd7e5 2020-07-23 stsp diff -u $testroot/stdout.expected $testroot/stdout
1414 369fd7e5 2020-07-23 stsp test_done "$testroot" "$ret"
1418 369fd7e5 2020-07-23 stsp readlink $testroot/wt/nonexistent.link > $testroot/stdout
1419 369fd7e5 2020-07-23 stsp echo "nonexistent" > $testroot/stdout.expected
1420 369fd7e5 2020-07-23 stsp cmp -s $testroot/stdout.expected $testroot/stdout
1422 fc414659 2022-04-16 thomas if [ $ret -ne 0 ]; then
1423 369fd7e5 2020-07-23 stsp diff -u $testroot/stdout.expected $testroot/stdout
1424 369fd7e5 2020-07-23 stsp test_done "$testroot" "$ret"
1428 369fd7e5 2020-07-23 stsp if [ ! -h $testroot/wt/dotgotfoo.link ]; then
1429 369fd7e5 2020-07-23 stsp echo "dotgotfoo.link is not a symlink " >&2
1430 369fd7e5 2020-07-23 stsp test_done "$testroot" "1"
1433 369fd7e5 2020-07-23 stsp readlink $testroot/wt/dotgotfoo.link > $testroot/stdout
1434 369fd7e5 2020-07-23 stsp echo ".got/foo" > $testroot/stdout.expected
1435 369fd7e5 2020-07-23 stsp cmp -s $testroot/stdout.expected $testroot/stdout
1437 fc414659 2022-04-16 thomas if [ $ret -ne 0 ]; then
1438 369fd7e5 2020-07-23 stsp diff -u $testroot/stdout.expected $testroot/stdout
1439 369fd7e5 2020-07-23 stsp test_done "$testroot" "$ret"
1444 369fd7e5 2020-07-23 stsp if [ -e $testroot/wt/zeta.link ]; then
1445 369fd7e5 2020-07-23 stsp echo -n "zeta.link should not exist on disk" >&2
1446 369fd7e5 2020-07-23 stsp test_done "$testroot" "1"
1450 369fd7e5 2020-07-23 stsp if [ ! -h $testroot/wt/zeta2.link ]; then
1451 369fd7e5 2020-07-23 stsp echo -n "zeta2.link is not a symlink" >&2
1452 369fd7e5 2020-07-23 stsp test_done "$testroot" "1"
1456 369fd7e5 2020-07-23 stsp readlink $testroot/wt/zeta2.link > $testroot/stdout
1457 369fd7e5 2020-07-23 stsp echo "epsilon/zeta" > $testroot/stdout.expected
1458 369fd7e5 2020-07-23 stsp cmp -s $testroot/stdout.expected $testroot/stdout
1460 fc414659 2022-04-16 thomas if [ $ret -ne 0 ]; then
1461 369fd7e5 2020-07-23 stsp diff -u $testroot/stdout.expected $testroot/stdout
1462 369fd7e5 2020-07-23 stsp test_done "$testroot" "$ret"
1466 369fd7e5 2020-07-23 stsp if [ ! -h $testroot/wt/zeta3.link ]; then
1467 369fd7e5 2020-07-23 stsp echo -n "zeta3.link is not a symlink" >&2
1468 369fd7e5 2020-07-23 stsp test_done "$testroot" "1"
1472 cf0e59fe 2020-07-23 stsp readlink $testroot/wt/zeta3.link > $testroot/stdout
1473 cf0e59fe 2020-07-23 stsp echo "beta" > $testroot/stdout.expected
1474 369fd7e5 2020-07-23 stsp cmp -s $testroot/stdout.expected $testroot/stdout
1476 fc414659 2022-04-16 thomas if [ $ret -ne 0 ]; then
1477 369fd7e5 2020-07-23 stsp diff -u $testroot/stdout.expected $testroot/stdout
1478 369fd7e5 2020-07-23 stsp test_done "$testroot" "$ret"
1482 369fd7e5 2020-07-23 stsp if [ ! -h $testroot/wt/new.link ]; then
1483 369fd7e5 2020-07-23 stsp echo -n "new.link is not a symlink" >&2
1484 369fd7e5 2020-07-23 stsp test_done "$testroot" "1"
1488 369fd7e5 2020-07-23 stsp (cd $testroot/wt && got status > $testroot/stdout)
1489 369fd7e5 2020-07-23 stsp echo "? dotgotfoo.link" > $testroot/stdout.expected
1490 369fd7e5 2020-07-23 stsp echo "M epsilon/beta.link" >> $testroot/stdout.expected
1491 369fd7e5 2020-07-23 stsp echo "A new.link" >> $testroot/stdout.expected
1492 369fd7e5 2020-07-23 stsp echo "D zeta.link" >> $testroot/stdout.expected
1493 369fd7e5 2020-07-23 stsp echo "? zeta3.link" >> $testroot/stdout.expected
1494 369fd7e5 2020-07-23 stsp cmp -s $testroot/stdout.expected $testroot/stdout
1496 fc414659 2022-04-16 thomas if [ $ret -ne 0 ]; then
1497 369fd7e5 2020-07-23 stsp diff -u $testroot/stdout.expected $testroot/stdout
1500 369fd7e5 2020-07-23 stsp test_done "$testroot" "$ret"
1503 a2c162eb 2022-10-30 thomas test_revert_umask() {
1504 a2c162eb 2022-10-30 thomas local testroot=`test_init revert_umask`
1506 a2c162eb 2022-10-30 thomas got checkout "$testroot/repo" "$testroot/wt" >/dev/null
1507 a2c162eb 2022-10-30 thomas echo "edit alpha" > $testroot/wt/alpha
1509 a2c162eb 2022-10-30 thomas # using a subshell to avoid clobbering global umask
1510 a2c162eb 2022-10-30 thomas (umask 077 && cd "$testroot/wt" && got revert alpha) \
1511 a2c162eb 2022-10-30 thomas >/dev/null
1513 a2c162eb 2022-10-30 thomas if [ $ret -ne 0 ]; then
1514 a2c162eb 2022-10-30 thomas test_done "$testroot" $ret
1515 a2c162eb 2022-10-30 thomas return 1
1518 a2c162eb 2022-10-30 thomas if ! ls -l "$testroot/wt/alpha" | grep -q ^-rw-------; then
1519 a2c162eb 2022-10-30 thomas echo "alpha is not 0600 after revert" >&2
1520 a2c162eb 2022-10-30 thomas ls -l "$testroot/wt/alpha" >&2
1521 a2c162eb 2022-10-30 thomas test_done "$testroot" 1
1522 a2c162eb 2022-10-30 thomas return 1
1524 a2c162eb 2022-10-30 thomas test_done "$testroot" 0
1527 7fb414ae 2020-08-08 stsp test_parseargs "$@"
1528 a129376b 2019-03-28 stsp run_test test_revert_basic
1529 a129376b 2019-03-28 stsp run_test test_revert_rm
1530 a129376b 2019-03-28 stsp run_test test_revert_add
1531 e20a8b6f 2019-06-04 stsp run_test test_revert_multiple
1532 a9fa2909 2019-07-27 stsp run_test test_revert_file_in_new_subdir
1533 1f1abb7e 2019-08-08 stsp run_test test_revert_no_arguments
1534 0f6d7415 2019-08-08 stsp run_test test_revert_directory
1535 3d69ad8d 2019-08-17 semarie run_test test_revert_directory_unknown
1536 33aa809d 2019-08-08 stsp run_test test_revert_patch
1537 33aa809d 2019-08-08 stsp run_test test_revert_patch_added
1538 33aa809d 2019-08-08 stsp run_test test_revert_patch_removed
1539 f1e81a05 2019-08-10 stsp run_test test_revert_patch_one_change
1540 a46b9f33 2020-01-28 stsp run_test test_revert_added_subtree
1541 15341bfd 2020-03-05 tracey run_test test_revert_deleted_subtree
1542 4901ccfc 2020-07-23 stsp run_test test_revert_symlink
1543 369fd7e5 2020-07-23 stsp run_test test_revert_patch_symlink
1544 a2c162eb 2022-10-30 thomas run_test test_revert_umask