(x-invocation-args): Add defvar.
[emacs.git] / lib-src / vcdiff
blob2dd48650d1e28debda3a67acce0ef2fab5105751
1 #!/bin/sh
3 # Enhanced sccs diff utility for use with vc mode.
4 # This version is more compatible with rcsdiff(1).
6 # $Id: vcdiff,v 1.2 1992/06/03 04:56:26 eric Exp $
9 DIFF="diff"
10 usage="$0: Usage: vcdiff [-r<sid1>] [-r<sid2>] [diffopts] sccsfile..."
12 sid1=-r sid2=
14 for f
16 case $f in
17 -*)
18 case $f in
19 -r?*)
20 case $sid1 in
21 -r)
22 sid1=$f
25 case $sid2 in
26 ?*) echo "$usage" >&2; exit 2 ;;
27 esac
28 sid2=$f
30 esac
33 options="$options $f"
35 esac
36 shift
39 break
41 esac
42 done
44 case $# in
46 echo "$usage" >&2
47 exit 2
48 esac
51 rev1= rev2= status=0
52 trap 'status=2; exit' 1 2 13 15
53 trap 'rm -f $rev1 $rev2 || status=2; exit $status' 0
55 for f
57 s=2
59 case $f in
60 s.* | */s.*)
62 rev1=/tmp/geta$$
63 get -s -p -k $sid1 "$f" > $rev1 &&
64 case $sid2 in
65 '')
66 workfile=`expr " /$f" : '.*/s.\(.*\)'`
69 rev2=/tmp/getb$$
70 get -s -p -k $sid2 "$f" > $rev2
71 workfile=$rev2
72 esac
73 then
74 echo $DIFF $options $sid1 $sid2 $workfile >&2
75 $DIFF $options $rev1 $workfile
76 s=$?
80 echo "$0: $f is not an SCCS file" >&2
81 esac
83 if test $status -lt $s
84 then status=$s
86 done