ci(1)ci(1)NAMEci - check in RCS revisions
stores new revisions into RCS files. Each file name ending in is
treated as an RCS file; all others are assumed to be working files.
deposits the contents of each working file into the corresponding RCS
file (see rcsintro(5)).
If the RCS file does not exist, creates it and deposits the contents of
the working file as the initial revision. The default number is "1.1".
The access list is initialized to empty. Instead of the log message,
requests descriptive text (see the option below).
An RCS file created by inherits the read and execute permissions from
the working file. If the RCS file exists, preserves its read and exe‐
cute permissions. always turns off all write permissions of RCS files.
The caller of the command must have read/write permission for the
directories containing the RCS file and the working file, and read per‐
mission for the RCS file itself. A number of temporary files are cre‐
ated. A semaphore file is created in the directory containing the RCS
file. always creates a new RCS file and unlinks the old one; therefore
links to RCS files are useless.
For to work, the user's login must be in the access list unless the
access list is empty, the user is the owner of the file, or the user is
Normally, checks whether the revision to be deposited is different from
the preceding one. If it is not different, either aborts the deposit
(if is given) or asks whether to abort (if is omitted). A deposit can
be forced with the option.
If sufficient memory is not available for checking the difference
between the revision to be deposited and the preceding one, then either
or values can be increased.
For each revision deposited, prompts for a log message. The log mes‐
sage should summarize the change and must be terminated with a line
containing a single "." or a control-D. If several files are being
checked in, asks whether or not to reuse the log message from the pre‐
vious file. If the standard input is not a terminal, suppresses the
prompt and uses the same log message for all files (see option below.
The number of the deposited revision can be given with any of the
options or (see option below).
To add a new revision to an existing branch, the head 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 (see rcs(1)). A lock held by someone
else can be broken with the command (see rcs(1)).
Forces a deposit.
The new revision is deposited even if it is not differ‐
ent from the preceding one.
Searches the working file for keyword values
to determine its revision number, creation date, author,
and state (see co(1)), and assigns these values to the
deposited revision, rather than computing them locally.
A revision number given with a command option overrides
the number in the working file. This option is useful
for software distribution. A revision that is sent to
several sites should be checked in with the option at
these sites to preserve its original number, date,
author, and state.
Works like except it performs an additional for the deposited revi‐
sion. Thus, the deposited revision is immediately
checked out again and locked. This is useful for saving
a revision although one wants to continue editing it
after the check-in.
Uses the string
msg as the log message for all revisions checked in.
Assigns the symbolic name
name to the checked-in revision. prints an error mes‐
sage if name is already assigned to another number.
Same as except that it overrides a previous assignment of name.
Quiet mode; diagnostic output is not printed.
A revision that is not different from the preceding one
is not deposited unless is given.
Assigns the revision number
rev to the checked-in revision, releases the correspond‐
ing lock, and deletes the working file. This is the
If rev is omitted, derives the new revision number from
the caller's last lock. If the caller has locked the
head revision of a branch, the new revision is added to
the head of that branch and a new revision number is
assigned to the new revision. The new revision number
is obtained by incrementing the head revision number.
If the caller locked a nonhead revision, a new branch is
started at the locked revision, and the number of the
locked revision is incremented. The default initial
branch and level numbers are 1. If the caller holds no
lock, but is the owner of the file and locking is not
set to strict, the revision is added to the head of the
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 added to the head of that branch. The level
number is obtained by incrementing the head revision
number of that branch. If rev indicates a nonexisting
branch, that branch is created with the initial revision
NOTE: On the trunk, revisions can be added to the head,
but not inserted.
Sets the state of the checked-in revision to the identifier
state. The default is
Writes descriptive text into the
RCS file (deletes the existing text). If txtfile is
omitted, prompts the user for text from standard input
that is terminated with a line containing a single or
Ctrl-D. Otherwise, the descriptive text is copied from
the file txtfile. During initialization, descriptive
text is requested even if is not given. The prompt is
suppressed if standard input is not a terminal.
Similar to except that the deposited revision is not locked. This
is useful if one wants to process (for example, compile)
the revision immediately after check in.
Access Control Lists (ACLs)
Optional ACL entries should not be added to RCS files, because they
might be deleted.
For each revision, prints the RCS file, the working file, and the num‐
ber of both the deposited and the preceding revision. The exit status
always refers to the last file checked in, and is 0 if the operation
was successful, 1 if unsuccessful.
If the current directory contains a subdirectory with an RCS file all
of the following commands deposit the latest revision from into
Check in version 1.2 of RCS file with the message
The names of RCS files are generated by appending to the end of the
working file name. If the resulting RCS file name is too long for the
file system on which the RCS file should reside, terminates with an
The log message cannot exceed 2046 bytes.
A file with approximately 240 revisions may cause a hash table over‐
flow. cannot add another revision to the file until some of the old
revisions have been removed. Use the (obsolete) command option to
remove old revisions.
RCS is designed to be used with TEXT files only. Attempting to use RCS
with nontext (binary) files results in data corruption.
was developed by Walter F. Tichy.
SEE ALSOco(1), ident(1), rcs(1), rcsdiff(1), rcsmerge(1), rlog(1), rcsfile(4),