]> git.lizzy.rs Git - plan9front.git/blob - rc/bin/patch/undo
/lib/rob: Just write the code.
[plan9front.git] / rc / bin / patch / undo
1 #!/bin/rc
2
3 rfork e
4 if(! ~ $#* 1){
5         echo 'usage: patch/undo patch-name' >[1=2]
6         exit usage
7 }
8
9 if(! test -d /n/sources/patch){
10         rfork n
11         9fs sources
12 }
13
14 if(! test -d /n/sources/patch/$1){
15         echo 'no such patch' /n/sources/patch/$1 >[1=2]
16         exit nopatch
17 }
18
19 d=$1
20 builtin cd /n/sources/patch/$1 || exit nopatch
21 if(! patch/okay .){
22         echo 'bad patch: '$status >[1=2]
23         exit badpatch
24 }
25
26 fn xxx {
27         if(cmp $2.new $1){
28                 echo cp /n/sources/patch/$d/$2.backup $1
29                 cp $2.backup $1
30         }
31         if not
32                 echo $1 has changed since patch was applied! >[2=1]
33 }
34 cat files | sed 's/^/xxx /' |rc
35