Mercurial > hg > xemacs-beta
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 +