diff options
author | Taru Karttunen <taruti@taruti.net> | 2011-03-30 17:14:36 +0300 |
---|---|---|
committer | Taru Karttunen <taruti@taruti.net> | 2011-03-30 17:14:36 +0300 |
commit | 2959e1ede0ebc6fdffd7b8660f43c2ce14c9696f (patch) | |
tree | f6343b1ce11a8c87251dd27cf3d3e26b50693fa7 /rc/bin/patch/diff | |
parent | e463eb40363ff4c68b1d903f4e0cdd0ac1c5977f (diff) | |
download | plan9front-2959e1ede0ebc6fdffd7b8660f43c2ce14c9696f.tar.xz |
Import sources from 2011-03-30 iso image - rc
Diffstat (limited to 'rc/bin/patch/diff')
-rwxr-xr-x | rc/bin/patch/diff | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/rc/bin/patch/diff b/rc/bin/patch/diff new file mode 100755 index 000000000..944b5231b --- /dev/null +++ b/rc/bin/patch/diff @@ -0,0 +1,45 @@ +#!/bin/rc +# patch/diff [-w] patch-name +rfork e +fn usage { + echo 'usage: patch/diff [-bmnwz] patch-name' >[1=2] + exit usage +} + +dopts=(-c) +while (! ~ $#* 0 && ~ $1 -*) { + switch ($1) { + case -[bmnw] + dopts=($dopts $1) + case -z + dopts=() + case * + usage + } + shift +} +if(! ~ $#* 1) + 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 +} + +builtin cd /n/sources/patch/$1 || exit nopatch +if(! patch/okay .){ + echo 'bad patch: '$status >[1=2] + exit badpatch +} + +d=/n/sources/patch/$1 +fn xxx { + echo $1 + diff $dopts $2.orig $d/$2 | sed 's/^/ /' +} +cat files | sed 's/^/xxx /' | rc |