File: impossible_unrevert.sh

package info (click to toggle)
darcs 2.0.2-3
  • links: PTS
  • area: main
  • in suites: lenny
  • size: 6,400 kB
  • ctags: 1,048
  • sloc: haskell: 24,937; perl: 9,736; sh: 3,369; ansic: 1,913; makefile: 17; xml: 14
file content (33 lines) | stat: -rw-r--r-- 829 bytes parent folder | download | duplicates (4)
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
#!/usr/bin/env bash
set -ev

rm -rf temp
mkdir temp
cd temp
darcs init
echo ALL ignore-times > _darcs/prefs/defaults
echo a > foo
darcs add foo
darcs record -a -m aa -A test
echo b > foo
echo y | darcs revert -a
echo y/d/y | tr / \\012 | darcs unrecord
# since the unrevert is impossible, we should fail if it succeeds...
echo y | darcs unrevert && exit 1 || true

# now let's try a possible unrevert, just for fun...
echo b >> foo
darcs record -a -m bb -A test
echo f/b | tr / \\012 > foo
darcs record -a -m 'aaa becomes f' -A test
date >> foo
echo y | darcs revert -a
echo y/d/y | tr / \\012 | darcs unpull
# Now add the date back on at the end:
echo y | darcs unrevert
echo 'M ./foo +1' > correct_summary
darcs whatsnew --dont-look-for-adds --summary > actual_summary
diff -c correct_summary actual_summary

cd ..
rm -rf temp