Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

co(1rcs)

ident(1rcs)

rlog(1rcs)

rcs(1rcs)

rcsdiff(1rcs)

rcsintro(1rcs)

rcsmerge(1rcs)

rcsfile(5rcs)



CI(1RCS)                COMMAND REFERENCE                CI(1RCS)



NAME
     ci - check in RCS revisions

SYNOPSIS
     ci [ -Nname ] [ -P ] [ -d[rev] ] [ -f[rev] ] [ -k[rev] ] [
     -l[rev] ] [ -mmsg ]
     [ -nname ] [ -q[rev] ] [ -r[rev] ] [ -sstate ] [
     -ttxtfilename ] [ -u[rev] ] filename ...

DESCRIPTION
     Ci stores new revisions into RCS files.  Each filename
     ending in ,v is considered an RCS file; all others are
     assumed to be working files containing new revisions.  Ci
     deposits the contents of each working file into the
     corresponding RCS file.

     Pairs of RCS files and working files may be specified in
     three ways (see also the EXAMPLES section of co(1rcs)):

     1) Both the RCS file and the working file are given. The RCS
        filename is of the form pathname1/workfilename,v and the
        working filename is of the form pathname2/workfilename,
        where pathname1/ and pathname2/ are (possibly different
        or empty) paths and workfilename is a filename.

     2) Only the RCS file is given.  Then the working file is
        assumed to be in the current directory and its name is
        derived from the name of the RCS file by removing
        pathname1/ and the suffix ,v.

     3) Only the working file is given.  Then the name of the RCS
        file is derived from the name of the working file by
        removing pathname2/ and appending the suffix ,v.

     If the RCS file is omitted or specified without a path, then
     ci looks for the RCS file first in the directory ./RCS and
     then in the current directory.

     For ci to work, your login name must be on the access list,
     unless the access list is empty or you are the superuser or
     the owner of the file.  To append a new revision to an
     existing branch, the tip revision on that branch must be
     locked by the caller. Otherwise, only a new branch can be
     created. This restriction is not enforced for the owner of
     the file, unless locking is set to strict (see rcs(1rcs) ).
     A lock held by someone else may be broken with the rcs
     command and its options.

     If the revision to be deposited is not different from the
     preceding one, ci either aborts the deposit (if -q is given)
     or asks whether to abort (if -q is omitted). The current
     revision is unlocked in this case, unless the -d or -l flag



Printed 4/6/89                                                  1





CI(1RCS)                COMMAND REFERENCE                CI(1RCS)



     is given. If the -u flag is given, the file is unlocked,
     removed, and checked out again.  A deposit can be forced
     with the -f option.

     For each revision deposited, ci prompts for a log message
     that summarizes the change.  You can enter the text editor
     to edit the log message by pressing <ESC>.  The environment
     variables RCSEDIT, EDITOR, and EDIT are checked in order to
     determine the text editor to invoke. If none of these are
     set, vi(1) is invoked.  When you finish entering the log
     message, enter a line containing only a single dot (.) or a
     <CTRL-D>.

     If several files are checked in, ci asks whether to reuse
     the previous log message.  If the standard input is not a
     terminal, ci suppresses the prompt and uses the same log
     message for all files.  See also -m.

     You can specify the number of the deposited revision with
     one of the options: -r, -d, -f, -k, -l, -u, or -q (see -r).

     If the RCS file does not exist, ci creates it and deposits
     the contents of the working file as the initial revision
     (default number: 1.1).  The access list is initialized to
     empty.  Instead of the log message, ci requests descriptive
     text (see -t below).

     An RCS file created by ci inherits the read and execute
     permissions from the working file. If the RCS file exists
     already, ci preserves its read and execute permissions.  Ci
     always turns off all write permissions of RCS files.

OPTIONS
     -d[rev]
        If the revision has not changed and the checkin is
        aborted, this option causes the current revision to
        remain locked.

     -f[rev]
        Force a deposit. The new revision is deposited even it is
        not different from the preceding one.

     -k[rev]
        Searches the working file for keyword values to determine
        its revision number, creation date, author, and state
        (see co(1rcs)), and assigns these values to the deposited
        revision, rather than computing them.

        This option is often used for software distribution. A
        revision that is sent to several sites should be checked
        in with the -k option at these sites to preserve its
        original number, date, author, and state.



Printed 4/6/89                                                  2





CI(1RCS)                COMMAND REFERENCE                CI(1RCS)



     -l[rev]
        Works like -r, except it performs an additional co -l for
        the deposited revision. Thus, the deposited revision is
        immediately checked out again and locked.  This is often
        used when you want to save a revision and continue
        editing it after the checkin.

     -mmsg
        Use msg as the log message for all revisions checked in.

     -nname
        Assign the symbolic name name to the checked-in revision.
        Ci prints an error message if name is already assigned to
        another number.

     -q[rev]
        Quiet mode. Diagnostic output is not printed.  A revision
        that is the same as the preceding one is not deposited,
        unless -f is given.

     -r[rev]
        Assigns the revision number rev to the checked-in
        revision, releases the corresponding lock, and deletes
        the working file. This is the default.

        If rev is omitted, ci derives the new revision number
        from your last lock. If you locked the tip revision of a
        branch, the new revision is appended to that branch. The
        new revision number is obtained by incrementing the tip
        revision number.  If you locked a nontip revision, a new
        branch is started at that revision by incrementing the
        highest branch number at that revision.  The default
        initial branch and level numbers are 1.  If you don't
        hold a lock, but you are the owner of the file and
        locking is not set to strict, then the revision is
        appended to the trunk.

        If rev indicates a revision number, it must be higher
        than the latest one on the branch to which rev belongs,
        or must start a new branch.

        If rev indicates a branch instead of a revision, the new
        revision is appended to that branch. The level number is
        obtained by incrementing the tip revision number of that
        branch.  If rev indicates a nonexisting branch, that
        branch is created with the initial revision numbered
        rev.1.

        Exception: On the trunk, revisions can be appended to the
        end, but not inserted.

     -sstate



Printed 4/6/89                                                  3





CI(1RCS)                COMMAND REFERENCE                CI(1RCS)



        Set the state of the checked-in revision to state.  The
        default is Exp.

     -t[txtfilename]
        Write descriptive text into the RCS file (deleting the
        existing text).  If txtfilename is omitted, ci prompts
        you for text supplied from the standard input, terminated
        with a line containing a single dot (.) or <CTRL-D>.
        Otherwise, the descriptive text is copied from
        txtfilename.  During initialization, descriptive text is
        requested even if -t is not given.  The prompt is
        suppressed if standard input is not a terminal.

     -u[rev]
        Works like -l, except that the deposited revision is not
        locked.  This is often used when you want to use the
        revision immediately after checkin.

     -P The access and modification dates of the RCS file (and
        the working file if the -l or -u option is given) are
        made the same as the original working file.  This option
        is supplied for special applications involving very large
        projects with many file dependencies but should generally
        not be used because of the problems that can occur.  See
        CAVEATS.

     -Nname
        Same as -n, except that it overrides a previous
        assignment of name.

EXAMPLES
     The following example checks the file example.c into the RCS
     file /usr/lib/RCS/example.c,v and leaves a copy of the file
     in the current directory. The file in the current directory
     will not be writeable:

          ci -u example.c /usr/lib/RCS/example.c,v

     If the current directory is /usr/lib or /usr/lib/RCS, the
     last argument may be ommitted without changing the result of
     the command.

FILES
     ,RCSt$$   Temporary storage for checking in the revision.

     ,*,       Semaphore file. This file prevents modifications
               to the working file by other RCS programs while
               being checked in.

DIAGNOSTICS
     For each revision, ci prints the RCS file, the working file,
     and the number of both the deposited and the preceding



Printed 4/6/89                                                  4





CI(1RCS)                COMMAND REFERENCE                CI(1RCS)



     revision.

VARIABLES
     RCSLOCK        If set to nonstrict, all new RCS files will
                    have locking set to non-strict mode.
                    Otherwise, locking is strict.

     RCSEDIT        Checked for the name of a text editor to
                    invoke.

RETURN VALUE
     [NO_ERRS]      Command completed without error.

     [NP_ERR]       An error occurred that was not a system
                    error.  Execution terminated.

CAVEATS
     You must have read and write permission for the directories
     containing the RCS file and the working file, and read
     permission for the RCS file itself.

     A number of temporary files are created.  A semaphore file
     is created in the directory containing the RCS file.  Ci
     always creates a new RCS file and unlinks the old one.  This
     strategy makes links to RCS files useless.

     The maximum length of a log message is 2048 characters. The
     maximum length of a description is 2048. Longer messages are
     truncated.

     The maximum number of revisions that can be stored in a
     single RCS file is 719. When there are more than 700
     revisions in a file, a warning message is printed on the
     terminal (if possible) every time an RCS command works on
     the file. See rcsfile(5rcs) for information on what action
     to take in this case.  Ci does not allow the 720th revision
     to be checked in.

     On older versions of RCS, the maximum number of revisions
     that can be stored in a single RCS file is 239.  No warning
     message is displayed on the terminal if this number is
     exceeded.

     The -P option is supplied so that make does not think that a
     file has been changed just because it was checked in (see
     make(1)).  This causes make to do less work, but it can
     cause problems if the values of any of the RCS keyword
     values are used.  For example, if a revision logging system
     is used to store the version numbers of source files into
     the object code, these numbers may not be correct if the -P
     option is used.  It is best not to use this option, which is
     supplied for people building very large projects.



Printed 4/6/89                                                  5





CI(1RCS)                COMMAND REFERENCE                CI(1RCS)



     Unless the -l option is used, the Locker keyword is not
     expanded.

SEE ALSO
     co(1rcs), ident(1rcs), rlog(1rcs), rcs(1rcs), rcsdiff(1rcs),
     rcsintro(1rcs), rcsmerge(1rcs), and rcsfile(5rcs).

















































Printed 4/6/89                                                  6



%%index%%
na:264,79;
sy:343,671;
de:1014,2639;3989,1924;
op:5913,963;7212,2530;10078,1620;
ex:11698,596;
fi:12294,295;
di:12589,268;13193,16;
va:13209,380;
rv:13589,288;
ca:13877,1991;16204,109;
se:16313,399;
%%index%%000000000232

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026