diff options
| author | Eric S. Raymond | 1992-08-04 16:08:22 +0000 |
|---|---|---|
| committer | Eric S. Raymond | 1992-08-04 16:08:22 +0000 |
| commit | ae94cd0c12bca192afd0f9d7d31b996a42d5ee65 (patch) | |
| tree | 599286dd5505225f96cff6395b0fe41d31530138 /lib-src/vcdiff | |
| parent | 637a8ae9ceb1c1b408dd5e240736dccd004e36d1 (diff) | |
| download | emacs-ae94cd0c12bca192afd0f9d7d31b996a42d5ee65.tar.gz emacs-ae94cd0c12bca192afd0f9d7d31b996a42d5ee65.zip | |
entered into RCS
Diffstat (limited to 'lib-src/vcdiff')
| -rwxr-xr-x | lib-src/vcdiff | 86 |
1 files changed, 86 insertions, 0 deletions
diff --git a/lib-src/vcdiff b/lib-src/vcdiff new file mode 100755 index 00000000000..2dd48650d1e --- /dev/null +++ b/lib-src/vcdiff | |||
| @@ -0,0 +1,86 @@ | |||
| 1 | #!/bin/sh | ||
| 2 | # | ||
| 3 | # Enhanced sccs diff utility for use with vc mode. | ||
| 4 | # This version is more compatible with rcsdiff(1). | ||
| 5 | # | ||
| 6 | # $Id: vcdiff,v 1.2 1992/06/03 04:56:26 eric Exp $ | ||
| 7 | # | ||
| 8 | |||
| 9 | DIFF="diff" | ||
| 10 | usage="$0: Usage: vcdiff [-r<sid1>] [-r<sid2>] [diffopts] sccsfile..." | ||
| 11 | |||
| 12 | sid1=-r sid2= | ||
| 13 | |||
| 14 | for f | ||
| 15 | do | ||
| 16 | case $f in | ||
| 17 | -*) | ||
| 18 | case $f in | ||
| 19 | -r?*) | ||
| 20 | case $sid1 in | ||
| 21 | -r) | ||
| 22 | sid1=$f | ||
| 23 | ;; | ||
| 24 | *) | ||
| 25 | case $sid2 in | ||
| 26 | ?*) echo "$usage" >&2; exit 2 ;; | ||
| 27 | esac | ||
| 28 | sid2=$f | ||
| 29 | ;; | ||
| 30 | esac | ||
| 31 | ;; | ||
| 32 | *) | ||
| 33 | options="$options $f" | ||
| 34 | ;; | ||
| 35 | esac | ||
| 36 | shift | ||
| 37 | ;; | ||
| 38 | *) | ||
| 39 | break | ||
| 40 | ;; | ||
| 41 | esac | ||
| 42 | done | ||
| 43 | |||
| 44 | case $# in | ||
| 45 | 0) | ||
| 46 | echo "$usage" >&2 | ||
| 47 | exit 2 | ||
| 48 | esac | ||
| 49 | |||
| 50 | |||
| 51 | rev1= rev2= status=0 | ||
| 52 | trap 'status=2; exit' 1 2 13 15 | ||
| 53 | trap 'rm -f $rev1 $rev2 || status=2; exit $status' 0 | ||
| 54 | |||
| 55 | for f | ||
| 56 | do | ||
| 57 | s=2 | ||
| 58 | |||
| 59 | case $f in | ||
| 60 | s.* | */s.*) | ||
| 61 | if | ||
| 62 | rev1=/tmp/geta$$ | ||
| 63 | get -s -p -k $sid1 "$f" > $rev1 && | ||
| 64 | case $sid2 in | ||
| 65 | '') | ||
| 66 | workfile=`expr " /$f" : '.*/s.\(.*\)'` | ||
| 67 | ;; | ||
| 68 | *) | ||
| 69 | rev2=/tmp/getb$$ | ||
| 70 | get -s -p -k $sid2 "$f" > $rev2 | ||
| 71 | workfile=$rev2 | ||
| 72 | esac | ||
| 73 | then | ||
| 74 | echo $DIFF $options $sid1 $sid2 $workfile >&2 | ||
| 75 | $DIFF $options $rev1 $workfile | ||
| 76 | s=$? | ||
| 77 | fi | ||
| 78 | ;; | ||
| 79 | *) | ||
| 80 | echo "$0: $f is not an SCCS file" >&2 | ||
| 81 | esac | ||
| 82 | |||
| 83 | if test $status -lt $s | ||
| 84 | then status=$s | ||
| 85 | fi | ||
| 86 | done | ||