ref: 0f890140f25324aa076b10f146840f6d7dc85a3a
dir: /rc/bin/patch/undo/
#!/bin/rc rfork e if(! ~ $#* 1){ echo 'usage: patch/undo patch-name' >[1=2] exit usage } if(! test -d /n/sources/patch){ rfork n 9fs sources } if(! test -d /n/sources/patch/$1){ echo 'no such patch' /n/sources/patch/$1 >[1=2] exit nopatch } d=$1 builtin cd /n/sources/patch/$1 || exit nopatch if(! patch/okay .){ echo 'bad patch: '$status >[1=2] exit badpatch } fn xxx { if(cmp $2.new $1){ echo cp /n/sources/patch/$d/$2.backup $1 cp $2.backup $1 } if not echo $1 has changed since patch was applied! >[2=1] } cat files | sed 's/^/xxx /' |rc