Mercurial > emacs
annotate lib-src/vcdiff @ 20501:4ff9d9b75477
(find-file-noselect): Fix previous change.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Sun, 21 Dec 1997 02:34:59 +0000 |
parents | 0ba6599135d6 |
children | c8fb06423da0 |
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 | 2 # |
3 # Enhanced sccs diff utility for use with vc mode. | |
4 # This version is more compatible with rcsdiff(1). | |
5 # | |
16804
0ba6599135d6
(PATH): Add /usr/xpg4/bin,
Paul Eggert <eggert@twinsun.com>
parents:
12507
diff
changeset
|
6 # $Id: vcdiff,v 1.5 1995/07/07 22:47:57 eggert Exp $ |
928 | 7 # |
8 | |
9 DIFF="diff" | |
5211 | 10 usage="$0: Usage: vcdiff [--brief] [-q] [-r<sid1>] [-r<sid2>] [diffopts] sccsfile..." |
928 | 11 |
16804
0ba6599135d6
(PATH): Add /usr/xpg4/bin,
Paul Eggert <eggert@twinsun.com>
parents:
12507
diff
changeset
|
12 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
|
13 |
3933 | 14 echo= |
16804
0ba6599135d6
(PATH): Add /usr/xpg4/bin,
Paul Eggert <eggert@twinsun.com>
parents:
12507
diff
changeset
|
15 sid1= sid2= |
928 | 16 |
17 for f | |
18 do | |
19 case $f in | |
20 -*) | |
21 case $f in | |
5211 | 22 --brief) |
23 DIFF=cmp;; | |
3933 | 24 -q) |
25 echo=:;; | |
928 | 26 -r?*) |
27 case $sid1 in | |
16804
0ba6599135d6
(PATH): Add /usr/xpg4/bin,
Paul Eggert <eggert@twinsun.com>
parents:
12507
diff
changeset
|
28 '') |
928 | 29 sid1=$f |
30 ;; | |
31 *) | |
32 case $sid2 in | |
33 ?*) echo "$usage" >&2; exit 2 ;; | |
34 esac | |
35 sid2=$f | |
36 ;; | |
37 esac | |
38 ;; | |
39 *) | |
40 options="$options $f" | |
41 ;; | |
42 esac | |
43 shift | |
44 ;; | |
45 *) | |
46 break | |
47 ;; | |
48 esac | |
49 done | |
50 | |
51 case $# in | |
52 0) | |
53 echo "$usage" >&2 | |
54 exit 2 | |
55 esac | |
56 | |
57 | |
58 rev1= rev2= status=0 | |
59 trap 'status=2; exit' 1 2 13 15 | |
60 trap 'rm -f $rev1 $rev2 || status=2; exit $status' 0 | |
61 | |
62 for f | |
63 do | |
64 s=2 | |
65 | |
66 case $f in | |
67 s.* | */s.*) | |
68 if | |
69 rev1=/tmp/geta$$ | |
70 get -s -p -k $sid1 "$f" > $rev1 && | |
71 case $sid2 in | |
72 '') | |
73 workfile=`expr " /$f" : '.*/s.\(.*\)'` | |
74 ;; | |
75 *) | |
76 rev2=/tmp/getb$$ | |
77 get -s -p -k $sid2 "$f" > $rev2 | |
78 workfile=$rev2 | |
79 esac | |
80 then | |
3933 | 81 $echo $DIFF $options $sid1 $sid2 $workfile >&2 |
928 | 82 $DIFF $options $rev1 $workfile |
83 s=$? | |
84 fi | |
85 ;; | |
86 *) | |
87 echo "$0: $f is not an SCCS file" >&2 | |
88 esac | |
89 | |
90 if test $status -lt $s | |
91 then status=$s | |
92 fi | |
93 done |