@c
@c ================================================================================
@c                               Edition 1.1
@c                      of the Texinfo-manuals for the
@c                      (R)evision (C)ontrol (S)ystem
@c                               Version 5.7
@c
@c                  (c) 1982, 1988, 1989 Walter F. Tichy.
@c           (c) 1990, 1991, 1992, 1993, 1994, 1995 Paul Eggert.
@c        (c) 1996, 1997 Karl Heinz Marbaise (doing converting job)
@c ================================================================================
@c
@c Discription:
@c    short overview about RCS commands.
@c
@c Authors:
@c    Walter Tichy,
@c    Paul Eggert,
@c    Karl Heinz Marbaise (doing converting job)
@c
@c e-mail:
@c    Internet: KHMarbaise@p69.ks.fido.de
@c    Fido-net: 2:2452/117.69
@c
@c Bugs, question:
@c    to above e-mail adress.
@c
@c License:
@c    The "Texinfo Edition of the RCS V5.7 manuals" are free
@c    software; you can redistribute it and/or modify it under
@c    the terms of the GNU General Public License as published
@c    by the Free Software Foundation; either version 2, or (at
@c    your option) any later version.
@c
@c    The "Texinfo Edition of the RCS V5.7 manuals" are distributed
@c    in the hope that they will be useful, but WITHOUT ANY WARRANTY;
@c    without even the implied warranty of MERCHANTABILITY or
@c    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
@c    License for more details.
@c
@c    You should have received a copy of the GNU General Public License
@c    along with the "Texinfo Edition of the RCS V5.7 manuals"; see the
@c    file COPYING. If not, write to the:
@c    Free Software Foundation,
@c    59 Temple Place - Suite 330,
@c    Boston, MA 02111-1307, USA.
@c
@c    See \rcstxi.110\COPYING for details.
@c
@c ================================================================================
@c
@c
@c $Id: RCSSYNOP.TEX 1.2 1997/03/30 22:53:18 KHM Exp $
@c
@c -----------------------------------------------------------------------------
@c Synopsis of RCS Operations
@c -----------------------------------------------------------------------------
@node Synopsis,CheckIn,rcsIntroduction,Top
@chapter Synopsis of RCS Operations

@itemize @bullet{}
@item ci -- check in revisions

@code{Ci} stores the contents of a working file into the
corresponding RCS file as a new revision.
If the RCS file doesn't exist, @code{ci} creates it.
@code{Ci} removes the working file, unless one of the options
@code{-u} or @code{-l} is present.
For each check-in, @code{ci} asks for a commentary
describing the changes relative to the previous revision.

@code{Ci} assigns the revision number given by the @code{-r} option;
if that option is missing, it derives the number from the
lock held by the user; if there is no lock and locking is not strict,
@code{ci} increments the number of the latest revision on the trunk.
A side branch can only be started by explicitly specifying its
number with the @code{-r} option during check-in.


@code{Ci} also determines whether the revision to be checked in is
different from the previous one, and asks whether to proceed if not.
This facility simplifies check-in operations for large systems,
because one need not remember which files were changed.


The option @code{-k} searches the checked in file for identification
markers containing the attributes
revision number, check-in date, author and state, and assigns these
to the new revision rather than computing them.  This option is
useful for software distribution: Recipients of distributed software
using RCS should check in updates with the @code{-k} option.
This convention guarantees that revision numbers, check-in dates,
etc., are the same at all sites.


@item co -- check out revisions

@code{Co} retrieves revisions according to revision number,
date, author and state attributes.  It either places the revision
into the working file, or prints it on the standard output.
@code{Co} always expands the identification markers.


@item ident -- extract identification markers

@code{Ident} extracts the identification markers expanded by @code{co}
from any file and prints them.

@item rcs -- change RCS file attributes

@code{Rcs}is an administrative operation that changes access lists,
locks, unlocks, breaks locks, toggles the strict-locking feature,
sets state attributes and symbolic revision numbers, changes the
description, and deletes revisions.  A revision can
only be deleted if it is not the fork of a side branch.

@item rcsclean -- clean working directory

@code{Rcsclean} removes working files that were checked out but never changed.
@footnote{The @code{rcsclean} and @code{rcsfreeze} commands are optional
and are not always installed.}

@item rcsdiff -- compare revisions

@code{Rcsdiff} compares two revisions and prints their
difference, using the UNIX tool @code{diff}.
One of the revisions compared may be checked out.
This command is useful for finding out about changes.

@item rcsfreeze -- freeze a configuration

@code{Rcsfreeze} assigns the same symbolic revision number
to a given revision in all RCS files.
This command is useful for accurately recording a configuration.

@item rcsmerge -- merge revisions

@code{Rcsmerge} merges two revisions, @code{rev1} and @code{rev2},
with respect to a common ancestor.
A 3-way file comparison determines the segments of lines that
are (a) the same in all three revisions, or (b) the same in 2 revisions,
or (c) different in all three.  For all segments of type (b) where
@code{rev1} is the differing revision,
the segment in @code{rev1} replaces the corresponding segment of @code{rev2}.
Type (c) indicates an overlapping change, is flagged as an error, and requires user
intervention to select the correct alternative.


@item rlog -- read log messages

@code{Rlog} prints the log messages and other information in an RCS file.

@end itemize
