rcsfreeze assigns a symbolic revision number to a set of RCS files that form a valid configuration.
The idea is to run rcsfreeze each time a new version is checked in. A unique symbolic name (C_number, where number is increased each time rcsfreeze is run) is then assigned to the most recent revision of each RCS file of the main trunk.
An optional name argument to 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 RCS files.
A log message is requested from the user for future reference.
The shell script works only on all RCS files at one time. All changed files must be checked in already. Run rcsclean(1) first and see whether any sources remain in the current directory.
log messages, most recent first
Options prepended to the argument list, separated by spaces. A backslash escapes spaces within an option. The RCSINIT options are prepended to the argument lists of most RCS commands. Useful RCSINIT options include -q, -V, -x, and -z.
Normally, for speed, commands either memory map or copy into memory the RCS file if its size is less than the memory-limit, currently defaulting to “unlimited”. Otherwise (or if the initially-tried speedy ways fail), the commands fall back to using standard i/o routines. You can adjust the memory limit by setting RCS_MEM_LIMIT to a numeric value lim (measured in kilobytes). An empty value is silently ignored. As a side effect, specifying RCS_MEM_LIMIT inhibits fall-back to slower routines.
Name of the temporary directory. If not set, the environment variables TMP and TEMP are inspected instead and the first value found is taken; if none of them are set, a host-dependent default is used, typically /tmp.
Stephan v. Bechtolsheim
co(1), rcs(1), rcsclean(1), rlog(1).
Walter F. Tichy, RCSA System for Version Control, SoftwarePractice & Experience 15, 7 (July 1985), 637-654.
The full documentation for RCS is maintained as a Texinfo manual. If the info(1) and RCS programs are properly installed at your site, the command
should give you access to the complete manual. Additionally, the RCS homepage:
has news and links to the latest release, development site, etc.
rcsfreeze does not check whether any sources are checked out and modified.
Although both working and RCS file names are accepted, they are not paired as usual with RCS commands.
Error checking is rudimentary.
rcsfreeze is just an optional example shell script, and should not be taken too seriously. See CVS for a more complete solution.