1ff8c3af2SDavid du Colombier#!/bin/rc 27750a8dcSDavid du Colombier# patch/diff [-w] patch-name 325f7656aSDavid du Colombierrfork e 4*d1da931cSDavid du Colombierfn usage { 5*d1da931cSDavid du Colombier echo 'usage: patch/diff [-bmnwz] patch-name' >[1=2] 6ff8c3af2SDavid du Colombier exit usage 7ff8c3af2SDavid du Colombier} 8ff8c3af2SDavid du Colombier 9*d1da931cSDavid du Colombierdopts=(-c) 10*d1da931cSDavid du Colombierwhile (! ~ $#* 0 && ~ $1 -*) { 11*d1da931cSDavid du Colombier switch ($1) { 12*d1da931cSDavid du Colombier case -[bmnw] 13*d1da931cSDavid du Colombier dopts=($dopts $1) 14*d1da931cSDavid du Colombier case -z 15*d1da931cSDavid du Colombier dopts=() 16*d1da931cSDavid du Colombier case * 17*d1da931cSDavid du Colombier usage 18*d1da931cSDavid du Colombier } 19*d1da931cSDavid du Colombier shift 20*d1da931cSDavid du Colombier} 21*d1da931cSDavid du Colombierif(! ~ $#* 1) 22*d1da931cSDavid du Colombier usage 23*d1da931cSDavid du Colombier 24ff8c3af2SDavid du Colombierif(! test -d /n/sources/patch){ 25ff8c3af2SDavid du Colombier rfork n 26ff8c3af2SDavid du Colombier 9fs sources 27ff8c3af2SDavid du Colombier} 28ff8c3af2SDavid du Colombier 29ff8c3af2SDavid du Colombierif(! test -d /n/sources/patch/$1){ 30ff8c3af2SDavid du Colombier echo 'no such patch' /n/sources/patch/$1 >[1=2] 31ff8c3af2SDavid du Colombier exit nopatch 32ff8c3af2SDavid du Colombier} 33ff8c3af2SDavid du Colombier 34*d1da931cSDavid du Colombierbuiltin cd /n/sources/patch/$1 || exit nopatch 35ff8c3af2SDavid du Colombierif(! patch/okay .){ 36ff8c3af2SDavid du Colombier echo 'bad patch: '$status >[1=2] 37ff8c3af2SDavid du Colombier exit badpatch 38ff8c3af2SDavid du Colombier} 39ff8c3af2SDavid du Colombier 40ff8c3af2SDavid du Colombierd=/n/sources/patch/$1 41ff8c3af2SDavid du Colombierfn xxx { 42ff8c3af2SDavid du Colombier echo $1 437750a8dcSDavid du Colombier diff $dopts $2.orig $d/$2 | sed 's/^/ /' 44ff8c3af2SDavid du Colombier} 45ff8c3af2SDavid du Colombiercat files | sed 's/^/xxx /' | rc 46