aboutsummaryrefslogtreecommitdiffstats
path: root/lib-src/vcdiff
diff options
context:
space:
mode:
authorEric S. Raymond1992-08-04 16:08:22 +0000
committerEric S. Raymond1992-08-04 16:08:22 +0000
commitae94cd0c12bca192afd0f9d7d31b996a42d5ee65 (patch)
tree599286dd5505225f96cff6395b0fe41d31530138 /lib-src/vcdiff
parent637a8ae9ceb1c1b408dd5e240736dccd004e36d1 (diff)
downloademacs-ae94cd0c12bca192afd0f9d7d31b996a42d5ee65.tar.gz
emacs-ae94cd0c12bca192afd0f9d7d31b996a42d5ee65.zip
entered into RCS
Diffstat (limited to 'lib-src/vcdiff')
-rwxr-xr-xlib-src/vcdiff86
1 files changed, 86 insertions, 0 deletions
diff --git a/lib-src/vcdiff b/lib-src/vcdiff
new file mode 100755
index 00000000000..2dd48650d1e
--- /dev/null
+++ b/lib-src/vcdiff
@@ -0,0 +1,86 @@
1#!/bin/sh
2#
3# Enhanced sccs diff utility for use with vc mode.
4# This version is more compatible with rcsdiff(1).
5#
6# $Id: vcdiff,v 1.2 1992/06/03 04:56:26 eric Exp $
7#
8
9DIFF="diff"
10usage="$0: Usage: vcdiff [-r<sid1>] [-r<sid2>] [diffopts] sccsfile..."
11
12sid1=-r sid2=
13
14for f
15do
16 case $f in
17 -*)
18 case $f in
19 -r?*)
20 case $sid1 in
21 -r)
22 sid1=$f
23 ;;
24 *)
25 case $sid2 in
26 ?*) echo "$usage" >&2; exit 2 ;;
27 esac
28 sid2=$f
29 ;;
30 esac
31 ;;
32 *)
33 options="$options $f"
34 ;;
35 esac
36 shift
37 ;;
38 *)
39 break
40 ;;
41 esac
42done
43
44case $# in
450)
46 echo "$usage" >&2
47 exit 2
48esac
49
50
51rev1= rev2= status=0
52trap 'status=2; exit' 1 2 13 15
53trap 'rm -f $rev1 $rev2 || status=2; exit $status' 0
54
55for f
56do
57 s=2
58
59 case $f in
60 s.* | */s.*)
61 if
62 rev1=/tmp/geta$$
63 get -s -p -k $sid1 "$f" > $rev1 &&
64 case $sid2 in
65 '')
66 workfile=`expr " /$f" : '.*/s.\(.*\)'`
67 ;;
68 *)
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=$?
77 fi
78 ;;
79 *)
80 echo "$0: $f is not an SCCS file" >&2
81 esac
82
83 if test $status -lt $s
84 then status=$s
85 fi
86done