Compare this file to the similar file:
Show the results in this format:

.de Id
.ds Rv \\$3
.ds Dt \\$4
.Id $Id: rcsfreeze.1,v 4.4 1990/11/13 15:43:42 hammer Exp $
.ds r \s-1RCS\s0
rcsfreeze \- freeze a configuration of sources checked in under RCS
.B rcsfreeze
.RI [ "name" ]
.B rcsfreeze
assigns a symbolic revision
number to a set of \*r files that form a valid configuration.
The idea is to run
.B rcsfreeze
each time a new version is checked
in.  A unique symbolic name (\c
.BI C_ number,
.I number
is increased each time
.B rcsfreeze
is run) is then assigned to the most
recent revision of each \*r file of the main trunk.
An optional
.I name
argument to
.B rcsfreeze
gives a symbolic name to the configuration.
The unique identifier is still generated
and is listed in the log file but it will not appear as
part of the symbolic revision name in the actual \*r files.
A log message is requested from the user for future reference.
The shell script works only on all \*r files at one time.
All changed files must be checked in already.
.IR rcsclean (1)
first and see whether any sources remain in the current directory.
.B RCS/.rcsfreeze.ver
version number
.B RCS/.rcsfreeze.log
log messages, most recent first
Stephan v. Bechtolsheim
co(1), rcs(1), rcsclean(1), rlog(1)
.B rcsfreeze
does not check whether any sources are checked out and modified.
Although both source file names and RCS file names are accepted,
they are not paired as usual with RCS commands.
Error checking is rudimentary.
.B rcsfreeze
is just an optional example shell script, and should not be taken too seriously.
See \s-1CVS\s0 for a more complete solution.