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