Merge from gnus--rel--5.10
[bpt/emacs.git] / lib-src / rcs-checkin
index ff2bf3d..1ec7839 100755 (executable)
@@ -1,7 +1,27 @@
-#!/bin/sh
+#! /bin/sh
 
 # This script accepts any number of file arguments and checks them into RCS.
+
+# Copyright (C) 1993, 1994, 1995, 2001, 2002, 2003, 2004,
+#               2005, 2006, 2007 Free Software Foundation, Inc.
+#
+# This file is part of GNU Emacs.
+#
+# GNU Emacs is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
 #
+# GNU Emacs is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with GNU Emacs; see the file COPYING.  If not, write to the
+# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
 # Arguments which are detectably either RCS masters (with names ending in ,v)
 # or Emacs version files  (with names of the form foo.~<number>~) are ignored.
 # For each file foo, the script looks for Emacs version files related to it.
@@ -12,7 +32,7 @@
 # is not deleted, as under VC with vc-keep-workfiles at its default of t, but
 # all the version files are.
 #
-# If an argument file is already version-controlled under RCS, any version 
+# If an argument file is already version-controlled under RCS, any version
 # files are added to the list of deltas and deleted, and then the workfile
 # is checked in again as the latest version.  This is probably not quite
 # what was wanted, and is the main reason VC doesn't simply call this to
@@ -21,7 +41,7 @@
 # This script is intended to be used to convert files with an old-Emacs-style
 # version history for use with VC (the Emacs 19 version-control interface),
 # which likes to use RCS as its back end.  It was written by Paul Eggert
-# and revised/documented for use with VC by Eric S. Raymond, Mr 19 1993.
+# and revised/documented for use with VC by Eric S. Raymond, Mar 19 1993.
 
 case $# in
 0)
@@ -35,9 +55,6 @@ ls_owner_pattern='[^ ][^ ]*  *[^ ][^ ]*  *\([^ ][^ ]*\)'
 
 for file
 do
-       # Check that file is readable.
-       <$file || exit
-
        # Make it easier to say `rcs-checkin *'
        # by ignoring file names that already contain `~', or end in `,v'.
        case $file in
@@ -46,6 +63,9 @@ do
        # Ignore non-files too.
        test -f "$file" || continue
 
+       # Check that file is readable.
+       test -r "$file" || exit
+
        # If the RCS file does not already exist,
        # initialize it with a description from $file's first line.
        rlog -R "$file" >/dev/null 2>&1 ||
@@ -54,7 +74,7 @@ do
        # Get list of old files.
        oldfiles=`
                ls $file.~[0-9]*~ 2>/dev/null |
-               sort -t~ -n +1
+               sort -t~ -n -k 2
        `
 
        # Check that they are properly sorted by date.
@@ -96,3 +116,4 @@ $file"
        ci -d -q -u $owner -m"entered into RCS" "$file" || exit
 done
 
+# arch-tag: 89c86949-ef04-4380-838b-bc1444dcb074