xref: /plan9/acme/bin/adiff (revision 7dd7cddf99dd7472612f1413b4da293630e6b1bc)
1219b2ee8SDavid du Colombier#!/bin/rc
2219b2ee8SDavid du Colombier
3*7dd7cddfSDavid du Colombierif(~ $#* 0 1){
4219b2ee8SDavid du Colombier	echo >[1=2] usage: adiff file1 file2
5*7dd7cddfSDavid du Colombier	echo >[1=2] or adiff file1 file2... dir
6219b2ee8SDavid du Colombier	exit usage
7219b2ee8SDavid du Colombier}
8219b2ee8SDavid du Colombier
9*7dd7cddfSDavid du Colombierdir = /mnt/wsys
10219b2ee8SDavid du Colombierif(! test -f $dir/cons)
11219b2ee8SDavid du Colombier	dir = /mnt/term/$dir
12219b2ee8SDavid du Colombierid=`{cat $dir/new/ctl}
13219b2ee8SDavid du Colombierid=$id(1)
14219b2ee8SDavid du Colombier
15219b2ee8SDavid du Colombierl=$1
16219b2ee8SDavid du Colombierr=$2
17219b2ee8SDavid du Colombierif (test -d $1) l=$1/`{basename $2}
18219b2ee8SDavid du Colombierif not if (test -d $2) r=$2/`{basename $1}
19219b2ee8SDavid du Colombier
20*7dd7cddfSDavid du Colombierecho 'name '^`{pwd}^/-diff-^`{basename $l} > $dir/$id/ctl
21219b2ee8SDavid du Colombier
22*7dd7cddfSDavid du Colombierdiff $* | awk -v 'l='$l -v 'r='^$r '/^diff/ {l=$2; r=$3; next} /^[1-9]/ {sub("[acd]", " & " r ":"); sub("^", l ":", $0)}
23219b2ee8SDavid du Colombier	{print $0}' > $dir/$id/body
24219b2ee8SDavid du Colombierecho clean > $dir/$id/ctl
25