annotate lib-src/vcdiff @ 107189:a48b193e3b5f

(tramp-handle-insert-file-contents): Set always the permissions of the temporary file to "0600". In case the remote file has no read permissions for the owner, there might be problems otherwise. Reported by Ole Laursen <olau@iola.dk>.
author Michael Albinus <michael.albinus@gmx.de>
date Thu, 18 Feb 2010 11:03:12 +0100
parents 1d1d5d9bd884
children 376148b31b5e
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
101096
1060b95add8a Comment (add Author:, based on authors.el).
Glenn Morris <rgm@gnu.org>
parents: 100958
diff changeset
2
928
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).
101096
1060b95add8a Comment (add Author:, based on authors.el).
Glenn Morris <rgm@gnu.org>
parents: 100958
diff changeset
5
94828
3a4bc081639c Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents: 94190
diff changeset
6 # Copyright (C) 1992, 1993, 1995, 1997, 2001, 2002, 2003, 2004, 2005,
106815
1d1d5d9bd884 Add 2010 to copyright years.
Glenn Morris <rgm@gnu.org>
parents: 101096
diff changeset
7 # 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
94828
3a4bc081639c Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents: 94190
diff changeset
8
101096
1060b95add8a Comment (add Author:, based on authors.el).
Glenn Morris <rgm@gnu.org>
parents: 100958
diff changeset
9 # Author: Paul Eggert
1060b95add8a Comment (add Author:, based on authors.el).
Glenn Morris <rgm@gnu.org>
parents: 100958
diff changeset
10 # (according to authors.el)
1060b95add8a Comment (add Author:, based on authors.el).
Glenn Morris <rgm@gnu.org>
parents: 100958
diff changeset
11
36226
c8fb06423da0 Add copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents: 16804
diff changeset
12 # This file is part of GNU Emacs.
94828
3a4bc081639c Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents: 94190
diff changeset
13
3a4bc081639c Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents: 94190
diff changeset
14 # GNU Emacs is free software: you can redistribute it and/or modify
36226
c8fb06423da0 Add copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents: 16804
diff changeset
15 # it under the terms of the GNU General Public License as published by
94828
3a4bc081639c Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents: 94190
diff changeset
16 # the Free Software Foundation, either version 3 of the License, or
3a4bc081639c Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents: 94190
diff changeset
17 # (at your option) any later version.
3a4bc081639c Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents: 94190
diff changeset
18
36226
c8fb06423da0 Add copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents: 16804
diff changeset
19 # 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
20 # but WITHOUT ANY WARRANTY; without even the implied warranty of
c8fb06423da0 Add copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents: 16804
diff changeset
21 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
c8fb06423da0 Add copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents: 16804
diff changeset
22 # GNU General Public License for more details.
94828
3a4bc081639c Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents: 94190
diff changeset
23
36226
c8fb06423da0 Add copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents: 16804
diff changeset
24 # You should have received a copy of the GNU General Public License
94828
3a4bc081639c Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents: 94190
diff changeset
25 # along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
3a4bc081639c Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents: 94190
diff changeset
26
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 DIFF="diff"
5211
7124a811b67b Add --brief option.
Paul Eggert <eggert@twinsun.com>
parents: 4653
diff changeset
29 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
30
94190
fad57210c7d2 * lisp/vc-sccs.el (vc-sccs-do-command): New fun. Use the "sccs" command.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 80512
diff changeset
31 # Now that we use `sccs get' rather than just `get', we don't need this.
fad57210c7d2 * lisp/vc-sccs.el (vc-sccs-do-command): New fun. Use the "sccs" command.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 80512
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
69559
130314bad206 Use "echo" as a default for $echo, otherwise we'll execute $DIFF
André Spiegel <spiegel@gnu.org>
parents: 68647
diff changeset
34 echo="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
80512
444a87e05509 2008-04-18 Steve Grubb <sgrubb@redhat.com> (tiny change)
Romain Francoise <romain@orebokech.com>
parents: 79748
diff changeset
89 rev1=`mktemp /tmp/geta.XXXXXXXX`
94190
fad57210c7d2 * lisp/vc-sccs.el (vc-sccs-do-command): New fun. Use the "sccs" command.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 80512
diff changeset
90 sccs get -s -p -k $sid1 "$f" > $rev1 &&
928
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 *)
80512
444a87e05509 2008-04-18 Steve Grubb <sgrubb@redhat.com> (tiny change)
Romain Francoise <romain@orebokech.com>
parents: 79748
diff changeset
96 rev2=`mktemp /tmp/getb.XXXXXXXX`
94190
fad57210c7d2 * lisp/vc-sccs.el (vc-sccs-do-command): New fun. Use the "sccs" command.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 80512
diff changeset
97 sccs get -s -p -k $sid2 "$f" > $rev2
928
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
69559
130314bad206 Use "echo" as a default for $echo, otherwise we'll execute $DIFF
André Spiegel <spiegel@gnu.org>
parents: 68647
diff changeset
101 $echo $DIFF $options $rev1 $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
52401
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 36226
diff changeset
114
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 36226
diff changeset
115 # arch-tag: 4344ba3a-bcbe-4f77-971c-f43c1606953a