6 echo 'usage: patch/apply patch-name' >[1=2]
10 if(! test -d /n/sources/patch){
15 if(! test -d /n/sources/patch/$1){
16 echo 'no such patch' /n/sources/patch/$1 >[1=2]
20 builtin cd /n/sources/patch/$1 || exit nopatch
22 echo 'bad patch: '$status >[1=2]
26 if(! echo >.tmp || ! rm .tmp){
27 echo no write permission >[1=2]
28 exit 'no write permission'
31 echo -n merge... >[1=2]
36 ape/diff3 -m $1 $2.orig $2 >$2.new
37 if(grep -s '^<<<<' $2.new){
38 echo conflicts merging $1';' see `{pwd}^/$2.new >[1=2]
44 cat files | sed 's/^/xxx /' | rc
46 echo exiting without changes >[1=2]
50 echo -n backup... >[1=2]
52 # echo cp $1 $2.backup
55 cat files | sed 's/^/xxx /' |rc
57 echo -n copy... >[1=2]
60 cp $2.new $1 || touch failed
62 cat files | sed 's/^/xxx /' | rc
65 # echo cp $2.backup $1
70 echo copying failed, restoring backups >[1=2]
71 cat files | sed 's/^/xxx /' | rc
77 echo to update sources: >[1=2]
78 cat files | awk '{print " update " $1 }' >[1=2]