Mercurial > emacs
annotate lib-src/rcs-checkin @ 99492:ee792794d888
(isearch-search-fun): Compare the length of the
current search string with the length of the string from the
previous search state to detect the situation when the user
adds or removes characters in the search string.
Use word-search-forward-lax and word-search-backward-lax in this
case, and otherwise word-search-forward and word-search-backward.
author | Juri Linkov <juri@jurta.org> |
---|---|
date | Tue, 11 Nov 2008 19:43:09 +0000 |
parents | 3a4bc081639c |
children | a9f7e446141d |
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 | 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 | 4 |
94828
3a4bc081639c
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
79748
diff
changeset
|
5 # Copyright (C) 1993, 1994, 1995, 2001, 2002, 2003, 2004, 2005, 2006, |
3a4bc081639c
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
79748
diff
changeset
|
6 # 2007, 2008 Free Software Foundation, Inc. |
3a4bc081639c
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
79748
diff
changeset
|
7 |
36226 | 8 # This file is part of GNU Emacs. |
94828
3a4bc081639c
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
79748
diff
changeset
|
9 |
3a4bc081639c
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
79748
diff
changeset
|
10 # GNU Emacs is free software: you can redistribute it and/or modify |
36226 | 11 # 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:
79748
diff
changeset
|
12 # 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:
79748
diff
changeset
|
13 # (at your option) any later version. |
3a4bc081639c
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
79748
diff
changeset
|
14 |
36226 | 15 # GNU Emacs is distributed in the hope that it will be useful, |
16 # but WITHOUT ANY WARRANTY; without even the implied warranty of | |
17 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
18 # GNU General Public License for more details. | |
94828
3a4bc081639c
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
79748
diff
changeset
|
19 |
36226 | 20 # 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:
79748
diff
changeset
|
21 # 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:
79748
diff
changeset
|
22 |
36226 | 23 |
2275
c70f9af7c66a
Added documentation, made the change comment for old versions more
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
2273
diff
changeset
|
24 # 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
|
25 # 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
|
26 # 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
|
27 # 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
|
28 # 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
|
29 # |
c70f9af7c66a
Added documentation, made the change comment for old versions more
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
2273
diff
changeset
|
30 # 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
|
31 # 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
|
32 # 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
|
33 # |
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
43223
diff
changeset
|
34 # 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
|
35 # 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
|
36 # 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
|
37 # 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
|
38 # do checkins. |
c70f9af7c66a
Added documentation, made the change comment for old versions more
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
2273
diff
changeset
|
39 # |
c70f9af7c66a
Added documentation, made the change comment for old versions more
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
2273
diff
changeset
|
40 # 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
|
41 # 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
|
42 # 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
|
43 # 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
|
44 |
2273 | 45 case $# in |
46 0) | |
47 echo "rcs-checkin: usage: rcs-checkin file ..." | |
48 echo "rcs-checkin: function: checks file.~*~ and file into a new RCS file" | |
49 echo "rcs-checkin: function: uses the file's first line for the description" | |
50 esac | |
51 | |
52 # expr pattern to extract owner from ls -l output | |
53 ls_owner_pattern='[^ ][^ ]* *[^ ][^ ]* *\([^ ][^ ]*\)' | |
54 | |
55 for file | |
56 do | |
57 # Make it easier to say `rcs-checkin *' | |
58 # by ignoring file names that already contain `~', or end in `,v'. | |
59 case $file in | |
60 *~* | *,v) continue | |
61 esac | |
62 # Ignore non-files too. | |
63 test -f "$file" || continue | |
64 | |
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
|
65 # 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
|
66 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
|
67 |
2273 | 68 # If the RCS file does not already exist, |
69 # initialize it with a description from $file's first line. | |
70 rlog -R "$file" >/dev/null 2>&1 || | |
71 rcs -i -q -t-"`sed 1q $file`" "$file" || exit | |
72 | |
73 # Get list of old files. | |
74 oldfiles=` | |
75 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
|
76 sort -t~ -n -k 2 |
2273 | 77 ` |
78 | |
79 # Check that they are properly sorted by date. | |
80 case $oldfiles in | |
81 ?*) | |
82 oldfiles_by_date=`ls -rt $file $oldfiles` | |
83 test " $oldfiles | |
84 $file" = " $oldfiles_by_date" || { | |
85 echo >&2 "rcs-checkin: skipping $file, because its mod times are out of order. | |
86 | |
87 Sorted by mod time: | |
88 $oldfiles_by_date | |
89 | |
90 Sorted by name: | |
91 $oldfiles | |
92 $file" | |
93 continue | |
94 } | |
95 esac | |
96 | |
97 echo >&2 rcs-checkin: checking in: $oldfiles $file | |
98 | |
99 # Save $file as $file.~-~ temporarily. | |
100 mv "$file" "$file.~-~" || exit | |
101 | |
102 # Rename each old file to $file, and check it in. | |
103 for oldfile in $oldfiles | |
104 do | |
105 mv "$oldfile" "$file" || exit | |
106 ls_l=`ls -l "$file"` || exit | |
107 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
|
108 echo "Formerly ${oldfile}" | ci -d -l -q $owner "$file" || exit |
2273 | 109 done |
110 | |
111 # Bring $file back from $file.~-~, and check it in. | |
112 mv "$file.~-~" "$file" || exit | |
113 ls_l=`ls -l "$file"` || exit | |
114 owner=-w`expr " $ls_l" : " $ls_owner_pattern"` || owner= | |
115 ci -d -q -u $owner -m"entered into RCS" "$file" || exit | |
116 done | |
117 | |
52401 | 118 # arch-tag: 89c86949-ef04-4380-838b-bc1444dcb074 |