diff lib-src/vcdiff @ 5406:061f4f90f874

Convert lib-src/ to GPLv3.
author Mike Sperber <sperber@deinprogramm.de>
date Mon, 18 Oct 2010 14:02:19 +0200
parents 376386a54a3c
children
line wrap: on
line diff
--- a/lib-src/vcdiff	Fri Oct 15 16:35:24 2010 +0200
+++ b/lib-src/vcdiff	Mon Oct 18 14:02:19 2010 +0200
@@ -1,23 +1,37 @@
-#!/bin/sh
-#
+#! /bin/sh
+
 # Enhanced sccs diff utility for use with vc mode.
 # This version is more compatible with rcsdiff(1).
-#
-#	!Id: vcdiff,v 1.4 1993/12/03 09:29:18 eggert Exp !
-#
-# Modified by: vladimir@Eng.Sun.COM on 95-06-07
-# * Made sure that file arguments are specifed as s.<filename>.
-# * Switched the assignments to $f inside the 3rd and 4th case statements of
-#   the first for-loop
-# * Removed the incorrect initialization of sid1 before the first for-loop.
-#
+
+# Copyright (C) 1992, 1993, 1995, 1997, 2001, 2002, 2003, 2004, 2005,
+#   2006, 2007, 2008, 2009, 2010  Free Software Foundation, Inc.
+
+# Author: Paul Eggert
+# (according to authors.el)
+
+# This file is part of XEmacs.
+
+# XEmacs is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+
+# XEmacs is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with XEmacs.  If not, see <http://www.gnu.org/licenses/>.
+
 
 DIFF="diff"
 usage="$0: Usage: vcdiff [--brief] [-q] [-r<sid1>] [-r<sid2>] [diffopts] sccsfile..."
 
-PATH=$PATH:/usr/ccs/bin:/usr/sccs # common SCCS hangouts
+# Now that we use `sccs get' rather than just `get', we don't need this.
+# PATH=$PATH:/usr/ccs/bin:/usr/sccs:/usr/xpg4/bin # common SCCS hangouts
 
-echo=
+echo="echo"
 sid1= sid2=
 
 for f
@@ -31,14 +45,14 @@
 			echo=:;;
 		-r?*)
 			case $sid1 in
-			-r*)
-				sid2=$f
+			'')
+				sid1=$f
 				;;
-			*) 
+			*)
 				case $sid2 in
-				  ?*) echo "$usage" >&2; exit 2 ;;
+				?*) echo "$usage" >&2; exit 2 ;;
 				esac
-				sid1=$f
+				sid2=$f
 				;;
 			esac
 			;;
@@ -67,31 +81,24 @@
 
 for f
 do
-  s=2
-
-  # For files under SCCS control, fixup the file name to be the s. filename
-  if [ -d SCCS ]; then
-    if [ $f = `echo $f | sed -e 's|SCCS/s.||'` ]; then
-      f="SCCS/s.$f"
-    fi
-  fi 
+	s=2
 
 	case $f in
 	s.* | */s.*)
 		if
-			rev1=/tmp/geta$$
-			get -s -p -k $sid1 "$f" > $rev1 &&
+			rev1=`mktemp /tmp/geta.XXXXXXXX`
+			sccs get -s -p -k $sid1 "$f" > $rev1 &&
 			case $sid2 in
 			'')
 				workfile=`expr " /$f" : '.*/s.\(.*\)'`
 				;;
 			*)
-				rev2=/tmp/getb$$
-				get -s -p -k $sid2 "$f" > $rev2
+				rev2=`mktemp /tmp/getb.XXXXXXXX`
+				sccs get -s -p -k $sid2 "$f" > $rev2
 				workfile=$rev2
 			esac
 		then
-			$echo $DIFF $options $sid1 $sid2 $workfile >&2
+			$echo $DIFF $options $rev1 $workfile >&2
 			$DIFF $options $rev1 $workfile
 			s=$?
 		fi
@@ -104,3 +111,4 @@
 	then status=$s
 	fi
 done
+