Mercurial > emacs
annotate lib-src/vcdiff @ 34993:2f736da4eaf1
Fix email address of my last entry.
| author | Eli Zaretskii <eliz@gnu.org> |
|---|---|
| date | Tue, 02 Jan 2001 15:39:32 +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 |
