xref: /csrg-svn/old/uudiff/remdiff (revision 10063)
1*10063Ssam#! /bin/csh
2*10063Ssam#	@(#)remdiff	4.1	(Berkeley)	01/01/83
3*10063Ssam#
4*10063Ssam# usage: uudiff directory-local sys![directory-remote]
5*10063Ssam#
6*10063Ssamset UUDIR=/usr/src/cmd/uudiff
7*10063Ssamset UUCP=/usr/src/cmd/uucp
8*10063Ssamset SPOOL=/usr/tmp/uucp
9*10063Ssamset UNIXNAME=vax1
10*10063Ssamset DIFF=YES
11*10063Ssamcase $1 in
12*10063Ssam	-d) set DIFF=NO; shift;;
13*10063Ssamesac
14*10063Ssam
15*10063Ssamset HERE=`pwd`
16*10063Ssamset ME=`getuid`
17*10063Ssam
18*10063Ssamset LOCAL=$1
19*10063Ssamset SYS=`echo $2 | sed "s/!.*//"`
20*10063Ssamif [ $SYS = $2 ]
21*10063Ssam	then set SYS=$UNIXNAME
22*10063Ssamfi
23*10063Ssam
24*10063Ssamset REMOTE=`echo $2 | sed "s/.*!//"`
25*10063Ssamif [ x$REMOTE = x ]
26*10063Ssam	then set $REMOTE = $LOCAL
27*10063Ssamfi
28*10063Ssam
29*10063Ssamset LOCAL=`$UUDIR/lenrem $LOCAL $HERE`
30*10063Ssamset REMOTE=`$UUDIR/lenrem $REMOTE $HERE`
31*10063Ssamset LOCDIR=$LOCAL
32*10063Ssamset DIR=YES
33*10063Ssamset REMDIR=$REMOTE
34*10063Ssamif [ -f $LOCDIR ]
35*10063Ssam	then
36*10063Ssam	set LOCDIR=`$UUDIR/trim $LOCDIR`
37*10063Ssam	set REMDIR=`$UUDIR/trim $REMDIR`
38*10063Ssam	set DIR=NO
39*10063Ssam	fi
40*10063Ssam
41*10063Ssamcat >zza$pid <<!
42*10063Ssam$UUCP/filsum $REMOTE >zzb$pid
43*10063Ssam!
44*10063Ssamuucp -f zza$pid $SYS!ef$pid
45*10063Ssam$UUCP/tdemon >>/$UUCP/tmess &
46*10063Ssamif [ $SYS = research ]
47*10063Ssam	then
48*10063Ssam	cat >$SPOOL/cq$pid <<%
49*10063Ssamzzb$pid
50*10063Ssam
51*10063Ssamcp zzb$pid $HERE/zzc$pid
52*10063Ssam%
53*10063Ssamelse
54*10063Ssamuucp -f -w $SYS!zzb$pid $HERE/zzc$pid
55*10063Ssamfi
56*10063Ssam$UUCP/tdemon >>/$UUCP/tmess &
57*10063Ssam$UUCP/filsum $LOCAL >zzd$pid
58*10063Ssamcat >$SPOOL/cz$pid <<!
59*10063Ssam$HERE/zzc$pid
60*10063Ssam
61*10063Ssamchdir $HERE
62*10063Ssamcat >zzy$pid <<%
63*10063Ssamrm zzb$pid
64*10063Ssam%
65*10063Ssamuucp -f zzy$pid $SYS!ey$pid
66*10063Ssamrm zzy$pid
67*10063Ssamcat >uudiff$pid <<%
68*10063Ssamuudiff comparison of
69*10063Ssam  $LOCAL here
70*10063Ssamwith
71*10063Ssam  $REMOTE on system $SYS
72*10063Ssam
73*10063Ssam
74*10063Ssam
75*10063Ssam%
76*10063Ssam$UUDIR/run1 zzd$pid zzc$pid  zzl$pid  | sort >>uudiff$pid
77*10063Ssam
78*10063Ssamcat >zzm$pid <<%
79*10063Ssamcg$pid
80*10063Ssam%
81*10063Ssamcat >zzn$pid <<%
82*10063Ssam
83*10063Ssamchdir $HERE
84*10063Ssam%
85*10063Ssam
86*10063Ssamif [ $DIFF = YES ]
87*10063Ssam	then
88*10063Ssam	if [ $DIR = NO ]
89*10063Ssam		then $UUDIR/locpart $LOCAL >zzl$pid
90*10063Ssam		fi
91*10063Ssam	for f in \`cat zzl${pid}\`
92*10063Ssam	do
93*10063Ssam		if $UUDIR/printable $LOCDIR/\$f
94*10063Ssam		then
95*10063Ssam		if [ $DIR = YES ]
96*10063Ssam			then uucp $SYS!$REMDIR/\$f \$f.$pid
97*10063Ssam			else uucp $SYS!$REMOTE \$f.$pid
98*10063Ssam			fi
99*10063Ssam		echo $HERE/\$f.$pid >>zzm$pid
100*10063Ssam		cat >>zzn$pid <<%
101*10063Ssam
102*10063Ssamecho >>uudiff$pid
103*10063Ssamecho DIFF of \$f: '(< here, > remote)' >>uudiff$pid
104*10063Ssamdiff $LOCDIR/\$f \$f.$pid >>uudiff$pid
105*10063Ssam%
106*10063Ssam		fi
107*10063Ssam	done
108*10063Ssamfi
109*10063Ssam
110*10063Ssamcat >>zzn$pid <<%
111*10063Ssamecho uudiff$pid arrived in $HERE "|" mail $ME
112*10063Ssamrm zz?$pid
113*10063Ssam%
114*10063Ssamcat zzm$pid zzn$pid >>$SPOOL/cg$pid
115*10063Ssam!
116*10063Ssam$UUCP/tdemon >>/$UUCP/tmess
117