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