summaryrefslogtreecommitdiff
path: root/lib-src/vcdiff
diff options
context:
space:
mode:
authorEric S. Raymond <esr@snark.thyrsus.com>1992-08-04 16:08:22 +0000
committerEric S. Raymond <esr@snark.thyrsus.com>1992-08-04 16:08:22 +0000
commit2c4e914aff722d65cf7075781530a24f12c4f558 (patch)
tree71e96fe7d9043837e7aab1548c2fedc210e50e4a /lib-src/vcdiff
parent41728c148d37e63f734792553ca72fa52538c70d (diff)
downloademacs-2c4e914aff722d65cf7075781530a24f12c4f558.tar.gz
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 @@
+#!/bin/sh
+#
+# Enhanced sccs diff utility for use with vc mode.
+# This version is more compatible with rcsdiff(1).
+#
+# $Id: vcdiff,v 1.2 1992/06/03 04:56:26 eric Exp $
+#
+
+DIFF="diff"
+usage="$0: Usage: vcdiff [-r<sid1>] [-r<sid2>] [diffopts] sccsfile..."
+
+sid1=-r sid2=
+
+for f
+do
+ case $f in
+ -*)
+ case $f in
+ -r?*)
+ case $sid1 in
+ -r)
+ sid1=$f
+ ;;
+ *)
+ case $sid2 in
+ ?*) echo "$usage" >&2; exit 2 ;;
+ esac
+ sid2=$f
+ ;;
+ esac
+ ;;
+ *)
+ options="$options $f"
+ ;;
+ esac
+ shift
+ ;;
+ *)
+ break
+ ;;
+ esac
+done
+
+case $# in
+0)
+ echo "$usage" >&2
+ exit 2
+esac
+
+
+rev1= rev2= status=0
+trap 'status=2; exit' 1 2 13 15
+trap 'rm -f $rev1 $rev2 || status=2; exit $status' 0
+
+for f
+do
+ s=2
+
+ case $f in
+ s.* | */s.*)
+ if
+ rev1=/tmp/geta$$
+ get -s -p -k $sid1 "$f" > $rev1 &&
+ case $sid2 in
+ '')
+ workfile=`expr " /$f" : '.*/s.\(.*\)'`
+ ;;
+ *)
+ rev2=/tmp/getb$$
+ get -s -p -k $sid2 "$f" > $rev2
+ workfile=$rev2
+ esac
+ then
+ echo $DIFF $options $sid1 $sid2 $workfile >&2
+ $DIFF $options $rev1 $workfile
+ s=$?
+ fi
+ ;;
+ *)
+ echo "$0: $f is not an SCCS file" >&2
+ esac
+
+ if test $status -lt $s
+ then status=$s
+ fi
+done