xref: /plan9/rc/bin/patch/undo (revision d1da931c1953c14f6f98c26297030a0b55cb02f6)
1#!/bin/rc
2
3rfork e
4if(! ~ $#* 1){
5	echo 'usage: patch/undo patch-name' >[1=2]
6	exit usage
7}
8
9if(! test -d /n/sources/patch){
10	rfork n
11	9fs sources
12}
13
14if(! test -d /n/sources/patch/$1){
15	echo 'no such patch' /n/sources/patch/$1 >[1=2]
16	exit nopatch
17}
18
19d=$1
20builtin cd /n/sources/patch/$1 || exit nopatch
21if(! patch/okay .){
22	echo 'bad patch: '$status >[1=2]
23	exit badpatch
24}
25
26fn 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}
34cat files | sed 's/^/xxx /' |rc
35
36