annotate lib-src/rcs-checkin @ 66573:e65b759c6906

Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-630 Merge from gnus--rel--5.10 Patches applied: * gnus--rel--5.10 (patch 149-151) - Merge from emacs--cvs-trunk--0 - Update from CVS 2005-10-27 Reiner Steib <Reiner.Steib@gmx.de> * lisp/gnus/flow-fill.el (fill-flowed-encode-tests): Restore trailing whitespace removed in revision 7.8. Use concatenated string to protect trailing whitespace. 2005-10-27 Jouni K Seppanen <jks@iki.fi> (tiny change) * lisp/gnus/nnimap.el (nnimap-search-uids-not-since-is-evil): Add variable. (nnimap-request-expire-articles): Use it to avoid sending 'UID SEARCH UID ... NOT SINCE' queries, for inefficient servers like Courier IMAP ("some version from 2004"). Mostly based on similar code in the same function. 2005-10-26 Katsumi Yamaoka <yamaoka@jpl.org> * lisp/gnus/message.el (message-display-completion-list): New function. (message-expand-group): Use it; make sure the Completions buffer is modifiable.
author Miles Bader <miles@gnu.org>
date Mon, 31 Oct 2005 07:07:28 +0000
parents 6358e3c6075c
children 3661e9b3c48f 2d92f5c9d6ae
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: 9611
diff changeset
1 #! /bin/sh
2273
576b71164157 Initial revision
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
2
2275
c70f9af7c66a Added documentation, made the change comment for old versions more
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 2273
diff changeset
3 # This script accepts any number of file arguments and checks them into RCS.
36226
c8fb06423da0 Add copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents: 12507
diff changeset
4
64769
6358e3c6075c Update years in copyright notice; nfc.
Thien-Thi Nguyen <ttn@gnuvola.org>
parents: 64083
diff changeset
5 # Copyright (C) 1993, 1994, 1995, 2001, 2002, 2003, 2004,
6358e3c6075c Update years in copyright notice; nfc.
Thien-Thi Nguyen <ttn@gnuvola.org>
parents: 64083
diff changeset
6 # 2005 Free Software Foundation, Inc.
2275
c70f9af7c66a Added documentation, made the change comment for old versions more
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 2273
diff changeset
7 #
36226
c8fb06423da0 Add copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents: 12507
diff changeset
8 # This file is part of GNU Emacs.
c8fb06423da0 Add copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents: 12507
diff changeset
9 #
c8fb06423da0 Add copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents: 12507
diff changeset
10 # GNU Emacs is free software; you can redistribute it and/or modify
c8fb06423da0 Add copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents: 12507
diff changeset
11 # it under the terms of the GNU General Public License as published by
c8fb06423da0 Add copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents: 12507
diff changeset
12 # the Free Software Foundation; either version 2, or (at your option)
c8fb06423da0 Add copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents: 12507
diff changeset
13 # any later version.
c8fb06423da0 Add copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents: 12507
diff changeset
14 #
c8fb06423da0 Add copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents: 12507
diff changeset
15 # GNU Emacs is distributed in the hope that it will be useful,
c8fb06423da0 Add copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents: 12507
diff changeset
16 # but WITHOUT ANY WARRANTY; without even the implied warranty of
c8fb06423da0 Add copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents: 12507
diff changeset
17 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
c8fb06423da0 Add copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents: 12507
diff changeset
18 # GNU General Public License for more details.
c8fb06423da0 Add copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents: 12507
diff changeset
19 #
c8fb06423da0 Add copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents: 12507
diff changeset
20 # You should have received a copy of the GNU General Public License
c8fb06423da0 Add copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents: 12507
diff changeset
21 # along with GNU Emacs; see the file COPYING. If not, write to the
64083
23a17af379b1 Update FSF's address.
Lute Kamstra <lute@gnu.org>
parents: 52401
diff changeset
22 # Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
23a17af379b1 Update FSF's address.
Lute Kamstra <lute@gnu.org>
parents: 52401
diff changeset
23 # Boston, MA 02110-1301, USA.
36226
c8fb06423da0 Add copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents: 12507
diff changeset
24
2275
c70f9af7c66a Added documentation, made the change comment for old versions more
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 2273
diff changeset
25 # Arguments which are detectably either RCS masters (with names ending in ,v)
c70f9af7c66a Added documentation, made the change comment for old versions more
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 2273
diff changeset
26 # or Emacs version files (with names of the form foo.~<number>~) are ignored.
c70f9af7c66a Added documentation, made the change comment for old versions more
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 2273
diff changeset
27 # For each file foo, the script looks for Emacs version files related to it.
c70f9af7c66a Added documentation, made the change comment for old versions more
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 2273
diff changeset
28 # These files are checked in as deltas, oldest first, so that the contents of
c70f9af7c66a Added documentation, made the change comment for old versions more
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 2273
diff changeset
29 # the file itself becomes the latest revision in the master.
c70f9af7c66a Added documentation, made the change comment for old versions more
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 2273
diff changeset
30 #
c70f9af7c66a Added documentation, made the change comment for old versions more
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 2273
diff changeset
31 # The first line of each file is used as its description text. The file itself
c70f9af7c66a Added documentation, made the change comment for old versions more
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 2273
diff changeset
32 # is not deleted, as under VC with vc-keep-workfiles at its default of t, but
c70f9af7c66a Added documentation, made the change comment for old versions more
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 2273
diff changeset
33 # all the version files are.
c70f9af7c66a Added documentation, made the change comment for old versions more
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 2273
diff changeset
34 #
49600
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 43223
diff changeset
35 # If an argument file is already version-controlled under RCS, any version
2275
c70f9af7c66a Added documentation, made the change comment for old versions more
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 2273
diff changeset
36 # files are added to the list of deltas and deleted, and then the workfile
c70f9af7c66a Added documentation, made the change comment for old versions more
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 2273
diff changeset
37 # is checked in again as the latest version. This is probably not quite
c70f9af7c66a Added documentation, made the change comment for old versions more
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 2273
diff changeset
38 # what was wanted, and is the main reason VC doesn't simply call this to
c70f9af7c66a Added documentation, made the change comment for old versions more
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 2273
diff changeset
39 # do checkins.
c70f9af7c66a Added documentation, made the change comment for old versions more
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 2273
diff changeset
40 #
c70f9af7c66a Added documentation, made the change comment for old versions more
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 2273
diff changeset
41 # This script is intended to be used to convert files with an old-Emacs-style
c70f9af7c66a Added documentation, made the change comment for old versions more
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 2273
diff changeset
42 # version history for use with VC (the Emacs 19 version-control interface),
c70f9af7c66a Added documentation, made the change comment for old versions more
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 2273
diff changeset
43 # which likes to use RCS as its back end. It was written by Paul Eggert
2689
dcbc46826515 *** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 2275
diff changeset
44 # and revised/documented for use with VC by Eric S. Raymond, Mar 19 1993.
2275
c70f9af7c66a Added documentation, made the change comment for old versions more
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 2273
diff changeset
45
2273
576b71164157 Initial revision
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
46 case $# in
576b71164157 Initial revision
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
47 0)
576b71164157 Initial revision
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
48 echo "rcs-checkin: usage: rcs-checkin file ..."
576b71164157 Initial revision
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
49 echo "rcs-checkin: function: checks file.~*~ and file into a new RCS file"
576b71164157 Initial revision
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
50 echo "rcs-checkin: function: uses the file's first line for the description"
576b71164157 Initial revision
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
51 esac
576b71164157 Initial revision
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
52
576b71164157 Initial revision
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
53 # expr pattern to extract owner from ls -l output
576b71164157 Initial revision
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
54 ls_owner_pattern='[^ ][^ ]* *[^ ][^ ]* *\([^ ][^ ]*\)'
576b71164157 Initial revision
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
55
576b71164157 Initial revision
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
56 for file
576b71164157 Initial revision
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
57 do
576b71164157 Initial revision
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
58 # Make it easier to say `rcs-checkin *'
576b71164157 Initial revision
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
59 # by ignoring file names that already contain `~', or end in `,v'.
576b71164157 Initial revision
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
60 case $file in
576b71164157 Initial revision
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
61 *~* | *,v) continue
576b71164157 Initial revision
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
62 esac
576b71164157 Initial revision
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
63 # Ignore non-files too.
576b71164157 Initial revision
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
64 test -f "$file" || continue
576b71164157 Initial revision
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
65
4343
aa19e3673b9f Don't check whether file is readable until we have decided not to ignore it.
Paul Eggert <eggert@twinsun.com>
parents: 2689
diff changeset
66 # Check that file is readable.
9611
9e5812a795da Use test -r instead of < to check readability, to avoid syntax error.
David J. MacKenzie <djm@gnu.org>
parents: 4343
diff changeset
67 test -r "$file" || exit
4343
aa19e3673b9f Don't check whether file is readable until we have decided not to ignore it.
Paul Eggert <eggert@twinsun.com>
parents: 2689
diff changeset
68
2273
576b71164157 Initial revision
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
69 # If the RCS file does not already exist,
576b71164157 Initial revision
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
70 # initialize it with a description from $file's first line.
576b71164157 Initial revision
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
71 rlog -R "$file" >/dev/null 2>&1 ||
576b71164157 Initial revision
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
72 rcs -i -q -t-"`sed 1q $file`" "$file" || exit
576b71164157 Initial revision
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
73
576b71164157 Initial revision
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
74 # Get list of old files.
576b71164157 Initial revision
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
75 oldfiles=`
576b71164157 Initial revision
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
76 ls $file.~[0-9]*~ 2>/dev/null |
43221
fadb49348c98 Use `sort -k 2', not `sort +1', as POSIX 1003.1-2001
Paul Eggert <eggert@twinsun.com>
parents: 36226
diff changeset
77 sort -t~ -n -k 2
2273
576b71164157 Initial revision
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
78 `
576b71164157 Initial revision
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
79
576b71164157 Initial revision
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
80 # Check that they are properly sorted by date.
576b71164157 Initial revision
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
81 case $oldfiles in
576b71164157 Initial revision
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
82 ?*)
576b71164157 Initial revision
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
83 oldfiles_by_date=`ls -rt $file $oldfiles`
576b71164157 Initial revision
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
84 test " $oldfiles
576b71164157 Initial revision
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
85 $file" = " $oldfiles_by_date" || {
576b71164157 Initial revision
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
86 echo >&2 "rcs-checkin: skipping $file, because its mod times are out of order.
576b71164157 Initial revision
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
87
576b71164157 Initial revision
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
88 Sorted by mod time:
576b71164157 Initial revision
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
89 $oldfiles_by_date
576b71164157 Initial revision
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
90
576b71164157 Initial revision
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
91 Sorted by name:
576b71164157 Initial revision
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
92 $oldfiles
576b71164157 Initial revision
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
93 $file"
576b71164157 Initial revision
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
94 continue
576b71164157 Initial revision
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
95 }
576b71164157 Initial revision
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
96 esac
576b71164157 Initial revision
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
97
576b71164157 Initial revision
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
98 echo >&2 rcs-checkin: checking in: $oldfiles $file
576b71164157 Initial revision
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
99
576b71164157 Initial revision
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
100 # Save $file as $file.~-~ temporarily.
576b71164157 Initial revision
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
101 mv "$file" "$file.~-~" || exit
576b71164157 Initial revision
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
102
576b71164157 Initial revision
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
103 # Rename each old file to $file, and check it in.
576b71164157 Initial revision
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
104 for oldfile in $oldfiles
576b71164157 Initial revision
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
105 do
576b71164157 Initial revision
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
106 mv "$oldfile" "$file" || exit
576b71164157 Initial revision
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
107 ls_l=`ls -l "$file"` || exit
576b71164157 Initial revision
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
108 owner=-w`expr " $ls_l" : " $ls_owner_pattern"` || owner=
2275
c70f9af7c66a Added documentation, made the change comment for old versions more
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 2273
diff changeset
109 echo "Formerly ${oldfile}" | ci -d -l -q $owner "$file" || exit
2273
576b71164157 Initial revision
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
110 done
576b71164157 Initial revision
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
111
576b71164157 Initial revision
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
112 # Bring $file back from $file.~-~, and check it in.
576b71164157 Initial revision
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
113 mv "$file.~-~" "$file" || exit
576b71164157 Initial revision
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
114 ls_l=`ls -l "$file"` || exit
576b71164157 Initial revision
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
115 owner=-w`expr " $ls_l" : " $ls_owner_pattern"` || owner=
576b71164157 Initial revision
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
116 ci -d -q -u $owner -m"entered into RCS" "$file" || exit
576b71164157 Initial revision
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
117 done
576b71164157 Initial revision
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
118
52401
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 49600
diff changeset
119 # arch-tag: 89c86949-ef04-4380-838b-bc1444dcb074