1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
|
#!/usr/bin/env bash
. lib
# test for working dir woes
# the setup...
rm -rf temp1 temp2
mkdir temp1
cd temp1
darcs init
mkdir a
echo temp0 > a/x
darcs add a
darcs add a/x
darcs record -am "aa"
darcs mv a/x a/y
darcs record -am "x to y"
echo temp1 > b
darcs add b
darcs record -am "bb"
mkdir d
darcs add d
darcs record -am "dd"
darcs tag 1
echo 1-b2 > b
darcs record -am "b2"
cd ..
# try to move a file that we don't have the right to do
darcs get temp1 temp2 --to-patch aa
cd temp2
chmod u-w a
darcs pull -a
test -e b
chmod u+w a
cd ..
rm -rf temp2
# [issue319] try to overwrite file(s) in our working dir
darcs get temp1 temp2 --to-patch aa
cd temp2
echo temp2 > b
echo temp2 > d
darcs pull -a -t 1
grep temp1 b
grep temp2 b-darcs-backup0
grep temp2 d-darcs-backup0
# now make sure we didn't overdo it
darcs pull -a
grep '1-b2' b
test -e b-darcs-backup0
test ! -e b-darcs-backup1
cd ..
rm -rf temp2
# [issue298] backup working dir files with conflicts
darcs get temp1 temp2 --tag 1
cd temp2
echo 2-b2 > b
darcs pull -a
grep "v v v" b
grep "2-b2" b-darcs-backup0
not grep "v v v" b-darcs-backup0
cd ..
rm -rf temp2
# [issue440] a) try to overwrite a file in our working dir
darcs get temp1 temp2 --to-patch a
cd temp2
echo temp2 > a/y
echo old-bak > a/y-darcs-backup0
darcs pull -a
grep temp0 a/y
grep old-bak a/y-darcs-backup0
grep temp2 a/y-darcs-backup1
cd ..
rm -rf temp2
# [issue440] b) try to overwrite a directory in our working dir
darcs get temp1 temp2 --to-patch a
cd temp2
mkdir a/y
echo old-bak > a/y-darcs-backup0
darcs pull -a
grep temp0 a/y
grep old-bak a/y-darcs-backup0
test -d a/y-darcs-backup1
cd ..
rm -rf temp2
rm -rf temp1
|