(describe-current-display-table):
[bpt/emacs.git] / lib-src / vcdiff
CommitLineData
ae94cd0c
ER
1#!/bin/sh
2#
3# Enhanced sccs diff utility for use with vc mode.
4# This version is more compatible with rcsdiff(1).
5#
cbf35b94 6# $Id: vcdiff,v 1.2 1993/06/30 18:54:08 eggert Exp eggert $
ae94cd0c
ER
7#
8
9DIFF="diff"
12946476 10usage="$0: Usage: vcdiff [-q] [-r<sid1>] [-r<sid2>] [diffopts] sccsfile..."
ae94cd0c 11
cbf35b94
PE
12PATH=$PATH:/usr/ccs/bin:/usr/sccs # common SCCS hangouts
13
12946476 14echo=
ae94cd0c
ER
15sid1=-r sid2=
16
17for f
18do
19 case $f in
20 -*)
21 case $f in
12946476
PE
22 -q)
23 echo=:;;
ae94cd0c
ER
24 -r?*)
25 case $sid1 in
26 -r)
27 sid1=$f
28 ;;
29 *)
30 case $sid2 in
31 ?*) echo "$usage" >&2; exit 2 ;;
32 esac
33 sid2=$f
34 ;;
35 esac
36 ;;
37 *)
38 options="$options $f"
39 ;;
40 esac
41 shift
42 ;;
43 *)
44 break
45 ;;
46 esac
47done
48
49case $# in
500)
51 echo "$usage" >&2
52 exit 2
53esac
54
55
56rev1= rev2= status=0
57trap 'status=2; exit' 1 2 13 15
58trap 'rm -f $rev1 $rev2 || status=2; exit $status' 0
59
60for f
61do
62 s=2
63
64 case $f in
65 s.* | */s.*)
66 if
67 rev1=/tmp/geta$$
68 get -s -p -k $sid1 "$f" > $rev1 &&
69 case $sid2 in
70 '')
71 workfile=`expr " /$f" : '.*/s.\(.*\)'`
72 ;;
73 *)
74 rev2=/tmp/getb$$
75 get -s -p -k $sid2 "$f" > $rev2
76 workfile=$rev2
77 esac
78 then
12946476 79 $echo $DIFF $options $sid1 $sid2 $workfile >&2
ae94cd0c
ER
80 $DIFF $options $rev1 $workfile
81 s=$?
82 fi
83 ;;
84 *)
85 echo "$0: $f is not an SCCS file" >&2
86 esac
87
88 if test $status -lt $s
89 then status=$s
90 fi
91done