summaryrefslogtreecommitdiff
path: root/rc/bin/patch/list
diff options
context:
space:
mode:
authorTaru Karttunen <taruti@taruti.net>2011-03-30 17:14:36 +0300
committerTaru Karttunen <taruti@taruti.net>2011-03-30 17:14:36 +0300
commit2959e1ede0ebc6fdffd7b8660f43c2ce14c9696f (patch)
treef6343b1ce11a8c87251dd27cf3d3e26b50693fa7 /rc/bin/patch/list
parente463eb40363ff4c68b1d903f4e0cdd0ac1c5977f (diff)
downloadplan9front-2959e1ede0ebc6fdffd7b8660f43c2ce14c9696f.tar.xz
Import sources from 2011-03-30 iso image - rc
Diffstat (limited to 'rc/bin/patch/list')
-rwxr-xr-xrc/bin/patch/list54
1 files changed, 54 insertions, 0 deletions
diff --git a/rc/bin/patch/list b/rc/bin/patch/list
new file mode 100755
index 000000000..5bd2dfe24
--- /dev/null
+++ b/rc/bin/patch/list
@@ -0,0 +1,54 @@
+#!/bin/rc
+
+rfork e
+if(! test -d /n/sources/patch){
+ rfork n
+ 9fs sources
+}
+
+pref=''
+builtin cd /n/sources/patch || {
+ echo 'can''t cd /n/sources/patch' >[2=1]
+ exit no-sources
+}
+
+if(~ $1 applied saved sorry maybe){
+ pref=$1^'/'
+ shift
+}
+if(~ $#* 0)
+ *=(`{
+ if(~ $pref *?*)
+ builtin cd $pref
+ ls -t | grep -v '^(applied|saved|sorry|maybe)$'
+ })
+
+trunc=(sed 5q)
+if(~ $#* 1)
+ trunc=cat
+
+{
+for(i in $*){
+ i=$pref^$i
+ if(test -f $i/origls)
+ cat $i/origls | awk '{$NF="'$i'"; print}'
+ if not
+ ls -ld $i
+ if(patch/okay $i){
+ if(test -r $i/email)
+ echo from `{cat $i/email}
+ cat $i/files | awk '{print " " $1}'
+ cat $i/readme | sed 's/^/ /' | $trunc
+ if(test -f $i/notes){
+ echo
+ cat $i/notes
+ }
+ }
+ if not
+ echo ' 'bad patch: $status >[2=1]
+ echo
+}
+} >/tmp/patchtmp.$pid
+
+cat /tmp/patchtmp.$pid
+rm -f /tmp/patchtmp.$pid