\input texinfo @c -*-texinfo-*-
@comment %**start of header
@setfilename rcs.info
@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    main file to go through TeX and makeinfo.
@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: VC.TEX 1.2 1997/03/30 22:53:22 KHM Exp $
@c
@c These macros are defined to prevent RCS from
@c replacing them with there corrosponding values
@c because this document is also under CVS/RCS version
@c control.
@c
@set RCSVERSION 5.7
@set RCSEDITION 1.1
@set RCSD $
@set RCSAUTHOR @value{RCSD}Author@value{RCSD}
@set RCSDATE @value{RCSD}Date@value{RCSD}
@set RCSHEADER @value{RCSD}Header@value{RCSD}
@set RCSID @value{RCSD}Id@value{RCSD}
@set RCSLOCKER @value{RCSD}Locker@value{RCSD}
@set RCSLOG @value{RCSD}Log@value{RCSD}
@set RCSNAME @value{RCSD}Name@value{RCSD}
@set RCSRCSFILE @value{RCSD}RCSFile@value{RCSD}
@set RCSREVISION @value{RCSD}Revsion@value{RCSD}
@set RCSSOURCE @value{RCSD}Source@value{RCSD}
@set RCSSTATE @value{RCSD}State@value{RCSD}

@settitle (R)evision (C)ontrol (S)ystem
@setchapternewpage on

@iftex
@finalout
@end iftex

@c SMALL BOOK version   
@c This edition has been formatted so that you can format and print it in
@c the smallbook format. 
@c @smallbook

@c Set following if you have the new `shorttitlepage' command
@c @clear shorttitlepage-enabled
@c @set shorttitlepage-enabled

@iftex
@syncodeindex fn cp
@syncodeindex vr cp
@syncodeindex tp cp
@end iftex
@ifinfo
@synindex fn cp
@synindex vr cp
@synindex tp cp
@end ifinfo
@comment %**end of header

@ifinfo
This file documents the Revision Control System (RCS).


Permission is granted to make and distribute verbatim copies of
this manual provided the copyright notice and this permission notice
are preserved on all copies.

Permission is granted to copy and distribute modified versions of this
manual under the conditions for verbatim copying, provided that the entire
resulting derived work is distributed under the terms of a permission
notice identical to this one.

Permission is granted to copy and distribute translations of this manual
into another language, under the above conditions for modified versions,
except that this permission notice may be stated in a translation approved
by the Foundation.

@ignore
Permission is granted to process this file through Tex and print the
results, provided the printed document carries copying permission
notice identical to this one except for the removal of this paragraph
(this paragraph not being relevant to the printed manual).

@end ignore
Copyright @copyright{} 1982, 1988, 1989 Walter F. Tichy.

Copyright @copyright{}  1990, 1991, 1992, 1993, 1994, 1995 Paul Eggert.

Copyright @copyright{}  1996, 1997 Karl Heinz Marbaise (doing converting job)

@end ifinfo

@ifset shorttitlepage-enabled
@shorttitlepage The Revision Control System (RCS)
@end ifset
@titlepage
@title RCS -- A System for Version Control
@subtitle The @b{R}evision @b{C}ontrol @b{S}ystem
@subtitle Edition @value{RCSEDITION} RCS Version @value{RCSVERSION}

@author by Walter F. Tichy, Paul Eggert

@page
@c -----------------------------------------------------------------------------
@vskip 0pt plus 1filll
@sp 5
Permission is granted to make and distribute verbatim copies of
this manual provided the copyright notice and this permission notice
are preserved on all copies.

Permission is granted to copy and distribute modified versions of this
manual under the conditions for verbatim copying, provided that the entire
resulting derived work is distributed under the terms of a permission
notice identical to this one.

Permission is granted to copy and distribute translations of this manual
into another language, under the above conditions for modified versions,
except that this permission notice may be stated in a translation approved
by the Foundation.

@sp 2
Copyright @copyright{} 1982, 1988, 1989 Walter F. Tichy.

Copyright @copyright{} 1990, 1991, 1992, 1993, 1994, 1995 Paul Eggert.

Copyright @copyright{} 1996, 1997 Karl Heinz Marbaise (doing converting job)

@ignore
Permission is granted to process this file through TeX and print the
results, provided the printed document carries copying permission
notice identical to this one except for the removal of this paragraph
(this paragraph not being relevant to the printed manual).
@end ignore
@end titlepage
@c -----------------------------------------------------------------------------
@page
@node Top,,, (dir)
@ifinfo
This manual(Edition @value{RCSEDITION}) documents version @value{RCSVERSION}
of the Revision Control System (RCS).
@end ifinfo

@menu

-- About the manual --

* About::               About the manul.

* AboutDesc::           Informations about that manual.
* Versions::            Versions of the troff/nroff manuals.
* BugReport::           Bugs? suggestions?


-- RCS - A System for Version Control --

* VersionControl::      RCS -- A System for Version Control.

* Introduction::        Introduction to RCS.
* StartRCS::            Getting started with RCS.
* Identification::      Automatic Identification.
* RevisionTree::        The RCS Revision Tree.
* Branches::            When are branches needed?.
* Deltas::              Revisions are represented as deltas.
* Controversial::       Locking: A Controversial Issue.
* Configuration::       Configuration Management.
* Functions::           RCS Selection Functions.
* MAKERCS::             Combining MAKE and RCS.
* Statistics::          Usage Statistics.
* Survey::              Survey of Version Control Tools.


-- rcsintro - introduction to RCS commands --

* rcsIntroduction::     Introduction to RCS commands.
* rcsintroDesc::        Introduction to @code{RCS}.
* rcsintroFunc::        Functions of @code{RCS}.
* rcsintroStart::       Getting started with @code{RCS}.
* rcsintroAutoIdent::   Automatic identification.

-- Synopsis of RCS Operations --

* Synopsis::            Synopsis of RCS Operations.

-- ci - check in RCS revsisions --

* CheckIn::             ci -- check in RCS revsisions.
* ciIntro::             Introduction to @code{ci}.
* ciEnv::               Environment which can change
                        the behaviour of @code{ci} and
                        other RCS commands.
* ciFileModes::         File modes.
* ciFiles::             Files.
* setuid use::          Using of uid.
* ciExamples::          Examples.
* ciDiag::              Diagnostic output of @code{ci}.
* ciOptions::           command line options of @code{ci}.


-- co - check out RCS revsisions --

* CheckOut::            co -- check out RCS revsisions
* coIntro::             Introduction to @code{co}.
* coOptions::           command line options of @code{co}.
* coKeyword::           Keyword expansion and valid keywords.
* coEnv::               Environment which can change
                        the behaviour of @code{co} and
                        other RCS commands.
* coFileModes::         File modes.
* coFiles::             Files.
* coDiag::              Diagnostic output of @code{co}.
* coLimits::            Limits.


-- rcs - change RCS file attributes --

* rcs::                 rcs -- change RCS file attributes.
* rcsIntro::            Introduction to @code{rcs}.
* rcsOptions::          command line options of @code{rcs}.
* rcsCompatibility::    Compatibility between RCS Versions.
* rcsFiles::            Files.
* rcsEnv::              The Environment which can change the
                        behaviour of much of the RCS commands.
* rcsDiag::             Diagnostic output of @code{rcs}.
* rcsBugs::             Bugs.


-- ident - identify RCS keyword strings in files --

* ident::               ident -- identify RCS keyword strings in files.
* identIntro::          Introduction to @code{rcs}.
* identOptions::        command line options of @code{rcs}.
* identKeywords::       Keywords.


-- rcsclean - clean up working files --

* rcsclean::            rcsclean -- clean up working files.
* rcscleanIntro::       Introduction to @code{rcsclean}.
* rcscleanOptions::     command line options of @code{rcsclean}.
* rcscleanExamples::    Examples in using @code{rcsclean}.
* rcscleanFiles::       Files.
* rcscleanEnv::         The Environment which can change the
                        behaviour of much of the RCS commands.
* rcscleanDiag::        Diagnostic output of @code{rcsclean}.
* rcscleanBugs::        Bugs.


-- rcsdiff -- compare RCS revisions --

* rcsdiff::             rcsdiff -- compare RCS revisions.
* rcsdiffIntro::        Introduction to @code{rcsdiff}.
* rcsdiffOptions::      command line options of @code{rcsdiff}.
* rcsdiffExamples::     Examples in using @code{rcsdiff}.
* rcsdiffEnv::          The Environment which can change the
                        behaviour of much of the RCS commands.
* rcsdiffDiag::         Diagnostic output of @code{rcsdiff}.


-- rcsmerge -- merge RCS versions --

* rcsmerge::            rcsmerge -- merge RCS versions.
* rcsmergeIntro::       Introduction to @code{rcs}.
* rcsmergeOptions::     command line options of @code{rcs}.
* rcsmergeExamples::    Examples of @code{rcsmerge}.
* rcsmergeEnv::         The Environment which can change the
                        behaviour of much of the RCS commands.
* rcsmergeDiag::        Diagnostic output of @code{rcs}.


-- rlog -- print log messages and other information about RCS files --

* rlog::                rlog -- print log messages and other
                        information about RCS files.
* rlogIntro::           Introduction to @code{rlog}.
* rlogOptions::         command line options of @code{rlog}.
* rlogExamples::        Examples.
* rlogEnv::             The Environment which can change the
                        behaviour of much of the RCS commands.
* rlogDiag::            Diagnostic output of @code{rlog}.
* rlogBugs::            Bugs.


-- merge -- three-way file merge --

* merge::               merge -- three-way file merge.
* mergeIntro::          Introduction to @code{merge}.
* mergeOptions::        command line options of @code{merge}.
* mergeDiag::           Diagnostic output of @code{merge}.
* mergeBugs::           Bugs.


------------ Appendencies ------------
-- Appendix A --

* AppendixA::           Format of RCS file.


-- Appendix B --

* AppendixB::           Books and related manuals.

* Feldman::             GNU - Make.
* Hunt::                GNU - diff.
* Rochkind::            SCCS.
* Tichy::               Design and implementation of RCS.
* Leblang::             Computer-Aided Software Engineering.
* Glasser::             The Evolution of a Source Code Control
                        System.
* Brown::               The Clear/Caster System.
* Habermann::           A Software Development Control System.
* DEC::                 Code Management System.
* Lampson::             Practical Use of a Polymorphic Applicative
                        Language.
* Tichy1::              A Data Model for Programming Support
                        Environments and its Application.
* Heckel::              A Technique for Isolating Differences
                        Between Files.
* Tichy2::              The String-to-String Correction Problem
                        with Block Moves.


* Index::               Concept Index.

@end menu
@c =============================================================================
@c
@c
@include about.tex
@include rcs_doc.tex
@include rcsintro.tex
@include rcssynop.tex
@include ci.tex
@include co.tex
@include rcs.tex
@include ident.tex
@include rcsclean.tex
@include rcsdiff.tex
@include rcsmerge.tex
@include rlog.tex
@include merge.tex
@c
@c
@c =============================================================================
@c
@c Appendix A (RCS-File format)
@c
@include rcsfile.tex
@c -----------------------------------------------------------------------------
@c RCS -- A System for Version Control
@c -----------------------------------------------------------------------------
@node AppendixB,Index,AppendixA,Top
@appendix Books and related manuals
@ifinfo
@menu
* Feldman::   GNU - Make.
* Hunt::      GNU - diff.
* Rochkind::  SCCS.
* Tichy::     Design and implementation of RCS.
* Leblang::   Computer-Aided Software Engineering.
* Glasser::   The Evolution of a Source Code Control
              System.
* Brown::     The Clear/Caster System.
* Habermann:: A Software Development Control System.
* DEC::       Code Management System.
* Lampson::   Practical Use of a Polymorphic Applicative
              Language.
* Tichy1::    A Data Model for Programming Support
              Environments and its Application.
* Heckel::    A Technique for Isolating Differences
              Between Files.
* Tichy2::    The String-to-String Correction Problem
              with Block Moves.

@end menu
@end ifinfo
@c -----------------------------------------------------------------------------
@c RCS -- A System for Version Control
@c -----------------------------------------------------------------------------
@node Feldman,Hunt,,AppendixB
@appendixsec Feldman,Stuart I.
@cindex Feldman Stuart I.
@cindex Make
@cindex GNU-Make
@example
@group
Feldman, Stuart I.,
@*
@w{"Make -- A Program for Maintaining Computer Programs"},
Software -- Practice & Experience,
vol. 9, no. 3, pp. 255-265, March 1979.
@end group
@end example
@c -----------------------------------------------------------------------------
@c RCS -- A System for Version Control
@c -----------------------------------------------------------------------------
@node Hunt,Rochkind,Feldman,AppendixB
@appendixsec Hunt, James W. and McIlroy, M. D.
@cindex Hunt, James W. and McIlroy, M. D.
@cindex Diff
@cindex GNU-Diff
@example
@group
Hunt, James W. and McIlroy, M. D.,
@*
@w{"An Algorithm for Differential File Comparison"},
41, Computing Science Technical Report,
Bell Laboratories, June 1976.
@end group
@end example
@c -----------------------------------------------------------------------------
@c RCS -- A System for Version Control
@c -----------------------------------------------------------------------------
@node Rochkind,Tichy,Hunt,AppendixB
@appendixsec Rochkind, Marc J.
@cindex SCCS
@example
@group
Rochkind, Marc J.
@*
@w{"The Source Code Control System"},
IEEE Transactions on Software Engineering, vol. SE-1,
no. 4, pp. 364-370, Dec. 1975.
@end group
@end example
@c -----------------------------------------------------------------------------
@c RCS -- A System for Version Control
@c -----------------------------------------------------------------------------
@node Tichy,Leblang,Rochkind,AppendixB
@appendixsec Tichy, Walter F.
@cindex RCS
@example
@group
Tichy, Walter F.
@*
@w{"Design, Implementation, and Evaluation of a Revision Control System"}
Proceedings of the 6th International Conference on Software Engineering,
pp. 58-67, ACM, IEEE, IPS, NBS, September 1982.
@end group
@end example
@c -----------------------------------------------------------------------------
@c RCS -- A System for Version Control
@c -----------------------------------------------------------------------------
@node Leblang,Glasser,Tichy,AppendixB
@appendixsec Leblang, David B. and Chase, Robert P.
@cindex SIGPLAN
@cindex Workstation
@cindex Symposium
@example
@group
Leblang, David B. and Chase, Robert P.
@*
"Computer-Aided Software Engineering in a Distributed
Workstation Environment",
SIGPLAN Notices, vol. 19, no. 5, pp. 104-112, May 1984.
Proceedings of the ACM SIGSOFT/SIGPLAN Software Engineering Symposium
on Practical Software Development Environments.
@end group
@end example
@c -----------------------------------------------------------------------------
@c RCS -- A System for Version Control
@c -----------------------------------------------------------------------------
@node Glasser,Brown,Leblang,AppendixB
@appendixsec Glasser, Alan L.
@cindex SCCS
@cindex Software Quality
@example
@group
Glasser, Alan L.
@*
@w{"The Evolution of a Source Code Control System"}
Software Engineering Notes, vol. 3, no. 5, pp. 122-125, Nov. 1978.
Proceedings of the Software Quality and Assurance Workshop.
@end group
@end example
@c -----------------------------------------------------------------------------
@c RCS -- A System for Version Control
@c -----------------------------------------------------------------------------
@node Brown,Habermann,Glasser,AppendixB
@appendixsec Brown, H.B.
@cindex Clear/Caster
@example
@group
Brown, H.B.
@*
@w{"The Clear/Caster System"},
Nato Conference on Software Engineering, Rome 1970
@end group
@end example
@c -----------------------------------------------------------------------------
@c RCS -- A System for Version Control
@c -----------------------------------------------------------------------------
@node Habermann,DEC,Brown,AppendixB
@appendixsec Habermann, A. Nico
@cindex Clear/Caster
@example
@group
Habermann, A. Nico
@*
@w{"A Software Development Control System"},
Technical Report, Carnegie-Mellon University,
Department of Computer Science, Jan. 1979.
@end group
@end example
@c -----------------------------------------------------------------------------
@c RCS -- A System for Version Control
@c -----------------------------------------------------------------------------
@node DEC,Lampson,Habermann,AppendixB
@appendixsec Code Management System
@cindex Code Management System
@cindex DEC
@example
@group
Digital Equipment Corporation
@*
@w{"Code Management System"},
Document No. EA-23134-82, 1982
@end group
@end example
@c -----------------------------------------------------------------------------
@c RCS -- A System for Version Control
@c -----------------------------------------------------------------------------
@node Lampson,Tichy1,DEC,AppendixB
@appendixsec Lampson, Butler W. and Schmidt, Eric E.
@cindex Polymorhpic Applicative Language
@cindex ACM
@example
@group
Lampson, Butler W. and Schmidt, Eric E.
@*
@w{"Practical Use of a Polymorphic Applicative Language"},
Proceedings of the 10th Symposium on Principles of
Programming Languages,
pp. 237-255, ACM, January 1983.
@end group
@end example
@c -----------------------------------------------------------------------------
@c RCS -- A System for Version Control
@c -----------------------------------------------------------------------------
@node Tichy1,Heckel,Lampson,AppendixB
@appendixsec Tichy, Walter F.
@cindex Data Model
@cindex Support
@cindex Environments
@cindex Tools
@example
@group
Tichy, Walter F.
@*
"A Data Model for Programming Support Environments and its Application",
Automated Tools for Information System Design and Development, ed.
Hans-Jochen Schneider and Anthony I. Wasserman,
North-Holland Publishing Company, Amsterdam 1982.
@end group
@end example
@c -----------------------------------------------------------------------------
@c RCS -- A System for Version Control
@c -----------------------------------------------------------------------------
@node Heckel,Tichy2,Tichy1,AppendixB
@appendixsec Heckel, Paul
@cindex Differences between files
@cindex Diff
@cindex ACM
@example
@group
Heckel, Paul
@*
@w{"A Technique for Isolating Differences Between Files"},
Communications of the ACM, vol. 21, no. 4, pp. 264-268, April
1978.
@end group
@end example
@c -----------------------------------------------------------------------------
@c RCS -- A System for Version Control
@c -----------------------------------------------------------------------------
@node Tichy2,,Heckel,AppendixB
@appendixsec Tichy, Walter F.
@cindex String-To-String Correction
@cindex Block moves
@example
@group
Tichy, Walter F.
@*
@w{"The String-to-String Correction Problem with Block Moves"},
ACM Transactions on Computer Systems, vol. 2, no. 4, pp. 309-321,
Nov. 1984.
@end group
@end example
@c -----------------------------------------------------------------------------
@c Index
@c -----------------------------------------------------------------------------
@node Index,,AppendixB,Top
@unnumbered Index
@printindex cp
@contents
@c @shortcontents
@bye





