xref: /plan9/rc/bin/patch/diff (revision 7750a8dc5f033d67ad7919d2ab3d82124362e986)
1ff8c3af2SDavid du Colombier#!/bin/rc
2*7750a8dcSDavid du Colombier# patch/diff [-w] patch-name
325f7656aSDavid du Colombierrfork e
4*7750a8dcSDavid du Colombierdopts=(-c)
5*7750a8dcSDavid du Colombierif (~ $1 -w) {
6*7750a8dcSDavid du Colombier	dopts=($dopts $1)
7*7750a8dcSDavid du Colombier	shift
8*7750a8dcSDavid du Colombier}
9ff8c3af2SDavid du Colombierif(! ~ $#* 1){
10ff8c3af2SDavid du Colombier	echo 'usage: patch/diff patch-name' >[1=2]
11ff8c3af2SDavid du Colombier	exit usage
12ff8c3af2SDavid du Colombier}
13ff8c3af2SDavid du Colombier
14ff8c3af2SDavid du Colombierif(! test -d /n/sources/patch){
15ff8c3af2SDavid du Colombier	rfork n
16ff8c3af2SDavid du Colombier	9fs sources
17ff8c3af2SDavid du Colombier}
18ff8c3af2SDavid du Colombier
19ff8c3af2SDavid du Colombierif(! test -d /n/sources/patch/$1){
20ff8c3af2SDavid du Colombier	echo 'no such patch' /n/sources/patch/$1 >[1=2]
21ff8c3af2SDavid du Colombier	exit nopatch
22ff8c3af2SDavid du Colombier}
23ff8c3af2SDavid du Colombier
24ff8c3af2SDavid du Colombiercd /n/sources/patch/$1 || exit nopatch
25ff8c3af2SDavid du Colombierif(! patch/okay .){
26ff8c3af2SDavid du Colombier	echo 'bad patch: '$status >[1=2]
27ff8c3af2SDavid du Colombier	exit badpatch
28ff8c3af2SDavid du Colombier}
29ff8c3af2SDavid du Colombier
30ff8c3af2SDavid du Colombierd=/n/sources/patch/$1
31ff8c3af2SDavid du Colombierfn xxx {
32ff8c3af2SDavid du Colombier	echo $1
33*7750a8dcSDavid du Colombier	diff $dopts $2.orig $d/$2 | sed 's/^/	/'
34ff8c3af2SDavid du Colombier}
35ff8c3af2SDavid du Colombiercat files | sed 's/^/xxx /' | rc
36