annotate lib-src/vcdiff @ 42201:46e216716173

In the Etags manual, when comparing the regular expression syntax to that of Emacs, remove the references to the interval operator, which is now part of Emacs as well as Etags, and add references to greedy operators and shy groups, which are now part of Emacs, but not of Etags.
author Francesco Potortì <pot@gnu.org>
date Thu, 20 Dec 2001 09:14:27 +0000
parents c8fb06423da0
children 695cf19ef79e d7ddb3e565de
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
12507
da322c027bf0 Replace `#!/bin/sh' with `#! /bin/sh', for benefit of systems
Paul Eggert <eggert@twinsun.com>
parents: 5211
diff changeset
1 #! /bin/sh
928
a95dc7876025 entered into RCS
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
2 #
a95dc7876025 entered into RCS
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
3 # Enhanced sccs diff utility for use with vc mode.
a95dc7876025 entered into RCS
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
4 # This version is more compatible with rcsdiff(1).
a95dc7876025 entered into RCS
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
5 #
36226
c8fb06423da0 Add copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents: 16804
diff changeset
6 # Copyright (C) 1992, 1993, 1995, 1997, 2001
c8fb06423da0 Add copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents: 16804
diff changeset
7 # Free Software Foundation, Inc.
c8fb06423da0 Add copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents: 16804
diff changeset
8 #
c8fb06423da0 Add copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents: 16804
diff changeset
9 # This file is part of GNU Emacs.
c8fb06423da0 Add copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents: 16804
diff changeset
10 #
c8fb06423da0 Add copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents: 16804
diff changeset
11 # GNU Emacs is free software; you can redistribute it and/or modify
c8fb06423da0 Add copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents: 16804
diff changeset
12 # it under the terms of the GNU General Public License as published by
c8fb06423da0 Add copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents: 16804
diff changeset
13 # the Free Software Foundation; either version 2, or (at your option)
c8fb06423da0 Add copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents: 16804
diff changeset
14 # any later version.
c8fb06423da0 Add copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents: 16804
diff changeset
15 #
c8fb06423da0 Add copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents: 16804
diff changeset
16 # GNU Emacs is distributed in the hope that it will be useful,
c8fb06423da0 Add copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents: 16804
diff changeset
17 # but WITHOUT ANY WARRANTY; without even the implied warranty of
c8fb06423da0 Add copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents: 16804
diff changeset
18 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
c8fb06423da0 Add copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents: 16804
diff changeset
19 # GNU General Public License for more details.
c8fb06423da0 Add copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents: 16804
diff changeset
20 #
c8fb06423da0 Add copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents: 16804
diff changeset
21 # You should have received a copy of the GNU General Public License
c8fb06423da0 Add copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents: 16804
diff changeset
22 # along with GNU Emacs; see the file COPYING. If not, write to the
c8fb06423da0 Add copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents: 16804
diff changeset
23 # Free Software Foundation, Inc., 59 Temple Place - Suite 330,
c8fb06423da0 Add copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents: 16804
diff changeset
24 # Boston, MA 02111-1307, USA.
c8fb06423da0 Add copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents: 16804
diff changeset
25 #
c8fb06423da0 Add copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents: 16804
diff changeset
26 # $Id: vcdiff,v 1.6 1997/01/01 05:33:42 eggert Exp $
928
a95dc7876025 entered into RCS
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
27 #
a95dc7876025 entered into RCS
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
28
a95dc7876025 entered into RCS
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
29 DIFF="diff"
5211
7124a811b67b Add --brief option.
Paul Eggert <eggert@twinsun.com>
parents: 4653
diff changeset
30 usage="$0: Usage: vcdiff [--brief] [-q] [-r<sid1>] [-r<sid2>] [diffopts] sccsfile..."
928
a95dc7876025 entered into RCS
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
31
16804
0ba6599135d6 (PATH): Add /usr/xpg4/bin,
Paul Eggert <eggert@twinsun.com>
parents: 12507
diff changeset
32 PATH=$PATH:/usr/ccs/bin:/usr/sccs:/usr/xpg4/bin # common SCCS hangouts
4653
8e72792f2d18 Append /usr/ccs/bin and /usr/sccs to PATH.
Paul Eggert <eggert@twinsun.com>
parents: 3933
diff changeset
33
3933
bfb5dd246441 Add -q option.
Paul Eggert <eggert@twinsun.com>
parents: 928
diff changeset
34 echo=
16804
0ba6599135d6 (PATH): Add /usr/xpg4/bin,
Paul Eggert <eggert@twinsun.com>
parents: 12507
diff changeset
35 sid1= sid2=
928
a95dc7876025 entered into RCS
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
36
a95dc7876025 entered into RCS
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
37 for f
a95dc7876025 entered into RCS
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
38 do
a95dc7876025 entered into RCS
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
39 case $f in
a95dc7876025 entered into RCS
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
40 -*)
a95dc7876025 entered into RCS
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
41 case $f in
5211
7124a811b67b Add --brief option.
Paul Eggert <eggert@twinsun.com>
parents: 4653
diff changeset
42 --brief)
7124a811b67b Add --brief option.
Paul Eggert <eggert@twinsun.com>
parents: 4653
diff changeset
43 DIFF=cmp;;
3933
bfb5dd246441 Add -q option.
Paul Eggert <eggert@twinsun.com>
parents: 928
diff changeset
44 -q)
bfb5dd246441 Add -q option.
Paul Eggert <eggert@twinsun.com>
parents: 928
diff changeset
45 echo=:;;
928
a95dc7876025 entered into RCS
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
46 -r?*)
a95dc7876025 entered into RCS
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
47 case $sid1 in
16804
0ba6599135d6 (PATH): Add /usr/xpg4/bin,
Paul Eggert <eggert@twinsun.com>
parents: 12507
diff changeset
48 '')
928
a95dc7876025 entered into RCS
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
49 sid1=$f
a95dc7876025 entered into RCS
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
50 ;;
a95dc7876025 entered into RCS
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
51 *)
a95dc7876025 entered into RCS
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
52 case $sid2 in
a95dc7876025 entered into RCS
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
53 ?*) echo "$usage" >&2; exit 2 ;;
a95dc7876025 entered into RCS
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
54 esac
a95dc7876025 entered into RCS
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
55 sid2=$f
a95dc7876025 entered into RCS
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
56 ;;
a95dc7876025 entered into RCS
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
57 esac
a95dc7876025 entered into RCS
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
58 ;;
a95dc7876025 entered into RCS
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
59 *)
a95dc7876025 entered into RCS
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
60 options="$options $f"
a95dc7876025 entered into RCS
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
61 ;;
a95dc7876025 entered into RCS
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
62 esac
a95dc7876025 entered into RCS
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
63 shift
a95dc7876025 entered into RCS
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
64 ;;
a95dc7876025 entered into RCS
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
65 *)
a95dc7876025 entered into RCS
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
66 break
a95dc7876025 entered into RCS
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
67 ;;
a95dc7876025 entered into RCS
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
68 esac
a95dc7876025 entered into RCS
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
69 done
a95dc7876025 entered into RCS
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
70
a95dc7876025 entered into RCS
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
71 case $# in
a95dc7876025 entered into RCS
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
72 0)
a95dc7876025 entered into RCS
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
73 echo "$usage" >&2
a95dc7876025 entered into RCS
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
74 exit 2
a95dc7876025 entered into RCS
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
75 esac
a95dc7876025 entered into RCS
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
76
a95dc7876025 entered into RCS
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
77
a95dc7876025 entered into RCS
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
78 rev1= rev2= status=0
a95dc7876025 entered into RCS
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
79 trap 'status=2; exit' 1 2 13 15
a95dc7876025 entered into RCS
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
80 trap 'rm -f $rev1 $rev2 || status=2; exit $status' 0
a95dc7876025 entered into RCS
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
81
a95dc7876025 entered into RCS
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
82 for f
a95dc7876025 entered into RCS
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
83 do
a95dc7876025 entered into RCS
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
84 s=2
a95dc7876025 entered into RCS
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
85
a95dc7876025 entered into RCS
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
86 case $f in
a95dc7876025 entered into RCS
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
87 s.* | */s.*)
a95dc7876025 entered into RCS
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
88 if
a95dc7876025 entered into RCS
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
89 rev1=/tmp/geta$$
a95dc7876025 entered into RCS
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
90 get -s -p -k $sid1 "$f" > $rev1 &&
a95dc7876025 entered into RCS
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
91 case $sid2 in
a95dc7876025 entered into RCS
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
92 '')
a95dc7876025 entered into RCS
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
93 workfile=`expr " /$f" : '.*/s.\(.*\)'`
a95dc7876025 entered into RCS
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
94 ;;
a95dc7876025 entered into RCS
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
95 *)
a95dc7876025 entered into RCS
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
96 rev2=/tmp/getb$$
a95dc7876025 entered into RCS
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
97 get -s -p -k $sid2 "$f" > $rev2
a95dc7876025 entered into RCS
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
98 workfile=$rev2
a95dc7876025 entered into RCS
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
99 esac
a95dc7876025 entered into RCS
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
100 then
3933
bfb5dd246441 Add -q option.
Paul Eggert <eggert@twinsun.com>
parents: 928
diff changeset
101 $echo $DIFF $options $sid1 $sid2 $workfile >&2
928
a95dc7876025 entered into RCS
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
102 $DIFF $options $rev1 $workfile
a95dc7876025 entered into RCS
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
103 s=$?
a95dc7876025 entered into RCS
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
104 fi
a95dc7876025 entered into RCS
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
105 ;;
a95dc7876025 entered into RCS
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
106 *)
a95dc7876025 entered into RCS
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
107 echo "$0: $f is not an SCCS file" >&2
a95dc7876025 entered into RCS
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
108 esac
a95dc7876025 entered into RCS
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
109
a95dc7876025 entered into RCS
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
110 if test $status -lt $s
a95dc7876025 entered into RCS
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
111 then status=$s
a95dc7876025 entered into RCS
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
112 fi
a95dc7876025 entered into RCS
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
113 done