๐ NAME
GNU RCS โ Revision Control System (version 5.10.1, 27 January 2022)
๐ Quick Reference
| Use Case | Command | Description |
| ๐ฅ Initial checkin | ci f.c | Create RCS file, store working file as revision 1.1, delete working file |
| ๐ค Checkout latest revision | co f.c | Extract latest revision and write to working file |
| ๐ Checkout and lock for editing | co -l f.c | Checkout with lock so only you can check in changes |
| ๐ Compare working file with latest revision | rcsdiff f.c | Show differences between working file and most recent revision |
| ๐ฅ Checkin with lock | ci -l f.c | Checkin and immediately checkout locked to continue editing |
| ๐ฅ Checkin with unlock | ci -u f.c | Checkin and checkout unlocked for reading |
| ๐ Lock latest revision | rcs -l f.c | Lock the latest revision for yourself |
| ๐ Unlock revision | rcs -u f.c | Unlock a revision |
| ๐ซ Disable strict locking | rcs -U f.c | Allow owner to checkin without lock |
| ๐ Enable strict locking | rcs -L f.c | Require lock for all users |
| ๐ฟ Start a branch | ci -r1.3.1 f.c | Start branch at revision 1.3, assign number 1.3.1.1 |
| ๐ Display RCS file info | rlog f.c | Show log messages, revisions, and metadata |
| ๐ Find keywords in files | ident f.c | Scan for RCS keywords like $Id$ |
| ๐งน Remove unchanged working files | rcsclean f.c | Remove working files that haven't been modified |
| ๐ Merge revisions into working file | rcsmerge f.c | Incorporate changes between two revisions |
๐ Overview
GNU RCS manages multiple revisions of files. It stores, retrieves, logs, identifies, and merges revisions. Useful for files revised frequently: programs, documentation, graphics, papers. Handles text and binary files (reduced functionality for binary).
Commands: ci, co, ident, merge, rcs, rcsclean, rcsdiff, rcsmerge, rlog. These are small and fast, suitable for scripting. Also includes script rcsfreeze.
RCS works with versions stored on a single filesystem, edited by one person at a time. For distributed access, see Bazaar, CVS, Subversion, Git.
๐ Credits
RCS designed and built by Walter F. Tichy (Purdue University) - version 3 released 1983. Version 4.3 (1990) supported by Adam Hammer, Thomas Narten, Daniel Trinkle. Guy Harris contributed porting fixes. Paul Eggert contributed bug fixes and tuneups. Jay Lepreau contributed 4.3BSD support. Paul Eggert wrote changes for RCS 5.5/5.6 (1991). Rich Braun, Andy Glew contributed ideas for new options. Bill Hahn contributed setuid support. Joe Berkovitz and Walter F. Tichy contributed piece table ideas. Matt Cross contributed test case ideas. Adam Hammer QAed. Paul Eggert wrote most changes for RCS 5.7. K. Richard Pixley contributed bug fixes. Robert Lupton, Daniel Trinkle contributed '$Name' expansion. Brendan Kehoe suggested rlog '-N' option. Paul D. Smith suggested improvements. Thien-Thi Nguyen modernized code base, build system, manual pages for RCS 5.8, added standard '--help', '--version', wrote this documentation.
๐ง Concepts
๐ Interaction Model
For each working file, you initialize its RCS file once, then cycle: checkout, modify, checkin. You can also tweak metadata. Analogous to a library: sign up (initialize), take book home (checkout), enjoy (without modification), return (checkin). You can compare revisions, examine descriptions, merge revisions.
๐ Working File
The file you edit (e.g., a.c). Contents can be extracted from RCS file (instantiating a working file). Can be deleted to save disk space.
๐๏ธ RCS File
Separate file, conventionally in RCS subdirectory. Organizes initial and subsequent revisions, each with a unique revision number and checkin particulars. Contains a description of the working file and metadata. Also known as "comma-v file" due to name ending in ,v (e.g., a.c,v).
Revision number: branch number + dot + integer. Branch number is odd number of integers separated by dot. Revision with one dot is on the trunk. All integers positive. Example: 1.1 (trunk), 9.4.1.42 (branch). Branch point of non-trunk branch: remove trailing integer. Next higher: add one to trailing integer. Highest-numbered revision on a branch is the tip.
RCS file tracks: default branch, symbolic names (associations between symbol and revision number). Access control policy: list of usernames (if non-empty, only those can modify); list of locks (username:revision) - if lock exists, only that user can modify that revision.
โ๏ธ Fundamental Operations
Checkin: records working file contents, assigns new revision number, records username, timestamp, state, and log message. Uses diff to find differences. Checkout: identifies revision, displays to stdout or instantiates working file, may undergo keyword expansion ($Keyword$ replaced with value).
๐ Keywords
- Author โ login name of user who checked in revision.
- Date โ date and time of checkin, may include timezone offset.
- Header โ absolute RCS filename, revision number, date, author, state, locker (if locked).
- Id โ same as Header but only basename.
- Locker โ login name of user who locked revision (empty if not locked).
- Log โ log message from checkin, preceded by header. New log messages inserted after $Log:...$. Inserted lines prefixed by the string prefixing the $Log$ line.
- Name โ symbolic name used to check out revision, if any.
- RCSfile โ basename of RCS file.
- Revision โ revision number assigned.
- Source โ absolute RCS filename.
- State โ state assigned with '-s' option.
๐ Quick Tour
Put file f.c under RCS:
mkdir RCS
ci f.c
Creates RCS file in RCS, stores as revision 1.1, deletes f.c. Prompts for description.
Get back working file:
co f.c
Extracts latest revision. To edit, lock as you checkout:
co -l f.c
After editing, see differences:
rcsdiff f.c
Checkin back:
ci f.c
If ci complains "no lock set by your name", use:
rcs -l f.c
To avoid working file deletion during checkin, use:
ci -l f.c # checkin + locked checkout
ci -u f.c # checkin + unlocked checkout
To assign a specific revision number:
ci -r2 f.c
ci -r2.1 f.c
Retrieve specific revision:
co -r2 f.c
co -r2.1 f.c
Start a branch at revision 1.3:
ci -r1.3.1 f.c
Diagram:
1.1 -- 1.2 -- 1.3 -- 1.4 -- 1.5
|
[1.3.1] -- 1.3.1.1
๐ง Usage
All RCS commands accept '--help' and '--version'. Options are '-LETTER[ARG]', no space between letter and argument. Options must appear before file names. Pairs of RCS and working files can be specified in three ways: both given, only working file, only RCS file. If only working file, RCS commands look first in ./RCS directory.
๐งฉ Common Elements
๐ข Revision Options
Form '-FLAG[REV]'. REV can be:
- BR.N โ dot notation with branch.
- .N โ like BR.N using default branch.
- BR โ like BR.N with N computed from tip.
- NAME โ symbolic name assigned by
ci -n or ci -N.
- $ โ computed from keyword expansions in working file.
For range: syntax 'REV1:REV2'.
๐
Date Option
Option '-dDATE' to specify date with second resolution. Accept '-zZONE' for timezone, 'LT' for local time. Many date formats recognized. Default timezone is UTC unless overridden by '-z'. Example dates:
8:00 pm lt
4:00 AM, Jan. 12, 1990 default is UTC
1990-01-12 04:00:00+00 ISO 8601 (UTC)
1990-01-11 20:00:00-08 ISO 8601 (local time)
1990/01/12 04:00:00 traditional RCS format
Thu Jan 11 20:00:00 1990 LT output of ctime(3) + LT
Thu Jan 11 20:00:00 PST 1990 output of date(1)
Fri Jan 12 04:00:00 GMT 1990
Thu, 11 Jan 1990 20:00:00 -0800 Internet RFC 822
12-January-1990, 04:00 WET
Other date-only formats: YEAR-DOY (e.g., 2018-110), YEAR-wWEEK-DOW (e.g., 2018-w16-5).
๐ Description Option
Option '-t-TEXT' or '-tFILE-NAME' to set/update RCS file description.
๐ฃ Substitution Mode Option
Option '-kSUBST' controls keyword expansion. SUBST values:
- kv โ default: '$Revision: 5.13 $'
- kvl โ like kv but locker name always inserted if locked
- k โ '$Revision$' (no value)
- o โ use old value from working file before checkin
- b โ like -ko but binary mode for DOS-like hosts
- v โ value only (e.g., '5.13') - use with care
๐ Log Message Option
Option '-mMSG' for ci and rcs. If MSG empty, uses '*** empty log message ***' (filtered by rlog).
๐ท๏ธ State Option
Option '-sSTATE' to specify state. Default is 'Exp'. Other common states: 'Rel', 'Prod', 'Stable'. State should be an identifier.
โฑ๏ธ Working File mtime Option
Option '-M' or '-MREV' works with '-u' or '-l' to set working file modification time to date of revision REV (defaults to branch tip). Useful when working file is a Makefile prerequisite.
๐ง Misc Common Options
- -I โ force interactive mode.
- -q โ quiet mode.
- -T โ control RCS file timestamp: preserve or use working file timestamp.
- -V โ display version and exit (obsolete).
- -VN โ emulate RCS version N (3,4,5). Version 5 is current. Version 4: Header includes 'Locker: LOCKER'. Version 3: Header omits directories, says 'Locked' instead of state.
- -wLOGIN โ specify author login.
- -xSUFF โ specify suffix list for RCS file recognition (default: ',v/').
๐ Delim-separated List
Some options accept multiple items separated by delimiters (comma, space, tab, LF, etc.). Context-specific delimiters are listed in the manual.
๐ Environment
- RCSINIT โ space-separated list of options to prepend to command line.
- RCS_MEM_LIMIT โ memory limit for RCS file (in KB). Default unlimited.
- TMPDIR, TMP, TEMP โ temporary directory (checked in order).
- LOGNAME, USER โ used to determine login name if '-w' not given.
๐พ ci (Checkin)
rcs ci [options] file ...
(or "ci" instead of "rcs ci")
Adds a revision to the RCS file reflecting current state of working file.
- -f[REV] โ Force new entry even if no content changed.
- -I[REV], -q[REV] โ see Misc common options.
- -i[REV] โ Initial checkin; error if RCS file exists.
- -j[REV] โ Just checkin, don't initialize; error if RCS file does not exist.
- -k[REV] โ Compute revision from working file keywords.
- -r โ Release lock and delete working file.
- -rREV โ Normal checkin with specified revision.
- -l[REV] โ Like '-r' but immediately checkout locked.
- -u[REV] โ Like '-l' but checkout unlocked.
- -M[REV] โ Set working file mtime (see minus-M).
- -d[DATE], -zZONE โ Specify date (use working file mtime if no date).
- -m[MSG] โ Use MSG as log message.
- -nNAME, -NNAME โ Assign symbolic NAME to entry. '-n' requires new name; '-N' overwrites.
- -sSTATE โ Set state.
- -t-TEXT, -tFILE-NAME โ Set description.
- -T โ Set RCS file mtime to new revision's time if later, preserve otherwise.
- -wWHO โ Use WHO as author.
- -V, -VN, -xSUFF โ See Misc common options.
๐ฅ co (Checkout)
rcs co [options] file ...
(or "co" instead of "rcs co")
Retrieves a revision from the RCS file, writing a new working file.
- -f[REV] โ Force overwrite of working file.
- -I[REV], -q[REV] โ See Misc common options.
- -p[REV] โ Write to stdout instead of working file.
- -r[REV] โ Normal checkout.
- -l[REV] โ Like '-r' but also lock.
- -u[REV] โ Like '-l' but unlock.
- -M[REV] โ Set working file mtime (see minus-M).
- -kSUBST โ Substitution mode.
- -dDATE, -zZONE โ Select latest before or on DATE.
- -jJOINS โ Merge using list of 'REV:REV' pairs (obsolete; use rcsmerge).
- -sSTATE โ Select matching state.
- -S โ Enable self-same mode: lock owner unimportant, prevents checking out same revision twice.
- -T โ Preserve RCS file mtime even if lock added/removed.
- -wWHO โ Select matching login.
- -V, -VN, -xSUFF โ See Misc common options.
๐ ident
ident [options] [file ...]
Scans files for RCS keywords and displays them. If no file, scan stdin.
- -q โ Suppress warnings if no patterns found.
- -V โ Display version and exit (note: '-VN' not valid for ident).
Also recognizes Subversion 1.2+ keyword patterns: $KEYWORD:: TEXT $ and $KEYWORD:: TEXT#$.
๐ merge
merge [options] receiving-sibling parent other-sibling
Combines differences between parent and other sibling, and parent and receiving sibling. Writes result to receiving sibling.
- -A, -E, -e โ Use diff3 with style: -A, -E (default), or -e.
- -p โ Write to stdout instead of overwriting receiving sibling.
- -q โ Suppress conflict warnings.
- -L LABEL โ (up to 3 times) Specify conflict labels for receiving, parent, other.
- -V โ Display version (note: '-VN' not valid for merge).
๐ง rcs (Administration)
Two usages: modern (RCS 5.9.0+) and legacy.
Modern
rcs [options] command [command-arg ...]
- --commands โ list available commands.
- --aliases โ list command aliases.
- --help COMMAND โ display help for a command.
Legacy (frob)
rcs frob [options] file ...
(or "rcs" instead of "rcs frob")
- -i โ Create and initialize new RCS file.
- -L โ Set strict locking.
- -U โ Set non-strict locking.
- -M โ Don't send mail when breaking someone else's lock.
- -T โ Preserve RCS file mtime unless revision removed.
- -I, -q โ See Misc common options.
- -aLOGINS โ Append logins to access-list.
- -e[LOGINS] โ Erase logins from access-list; clear if omitted.
- -AFILE-NAME โ Append access-list of FILE-NAME to current.
- -b[REV] โ Set default branch.
- -l[REV] โ Lock a revision.
- -u[REV] โ Unlock a revision.
- -cSTRING โ Set comment leader (obsolete).
- -kSUBST โ Substitution mode.
- -mREV:[MSG] โ Replace log message.
- -nNAME[:[REV]] โ Associate NAME with REV; delete if :REV omitted.
- -NNAME[:[REV]] โ Like -n but overwrite previous assignment.
- -oRANGE โ Delete revisions in range (REV, BR, REV1:REV2, :REV, REV:).
- -sSTATE[:REV] โ Set state.
- -t-TEXT, -tFILE-NAME โ Replace description.
- -V, -VN, -xSUFF โ See Misc common options.
๐งน rcsclean
rcs clean [options] [file ...]
(or "rcsclean" instead of "rcs clean")
Removes working files that are not being worked on. With '-u', also unlocks and removes if unchanged. If no file, operate on all working files in current directory.
- -r[REV] โ Specify revision.
- -u[REV] โ Unlock if locked and no differences.
- -n[REV] โ Dry run.
- -q[REV] โ See Misc common options.
- -kSUBST โ Substitution mode.
- -T โ Preserve RCS file mtime even if lock removed.
- -V, -VN, -xSUFF โ See Misc common options.
- -zZONE โ Date option.
๐ rcsdiff
rcs diff [options] file ...
(or "rcsdiff" instead of "rcs diff")
Runs diff to compare two revisions in an RCS file.
- -rREV โ (zero, one, or two times) Name a revision. Compare two if two given; compare working file with one if one given; compare working file with latest on default branch if none.
- -kSUBST โ Substitution mode.
- -q โ See Misc common options.
- -V, -VN, -xSUFF โ See Misc common options.
- -zZONE โ Date option.
Additional options (and their arguments) are passed to underlying diff: -0..-9, -B, -C, -D, -F, -H, -I, -L, -U, -W, -a, -b, -c, -d, -e, -f, -h, -i, -n, -p, -t, -u, -w, -y, long options (--...)
๐ rcsmerge
rcs merge [options] file
(or "rcsmerge" instead of "rcs merge")
Incorporates changes between two revisions into the working file.
- -A, -E, -e โ Passed to diff3; default -E; -e suppresses conflict warnings.
- -p[REV] โ Write to stdout instead of overwriting working file.
- -q[REV] โ See Misc common options.
- -rREV โ (one or two times) Specify a revision. Must specify one or two.
- -kSUBST โ Substitution mode.
- -V, -VN, -xSUFF โ See Misc common options.
- -zZONE โ Date option.
๐ rlog
rcs log [options] file ...
(or "rlog" instead of "rcs log")
Displays information about RCS files.
- -L โ Ignore RCS files with no locks.
- -R โ Print only RCS file name.
- -h โ Print only header information.
- -t โ Like -h but include description.
- -N โ Omit symbolic names.
- -b โ Select default branch.
- -dDATES โ Select revisions based on timestamp range. Specs: D, D1<D2, D2>D1, <D, D>, >D, D<. Use <= or >= for inclusive. Semicolon-separated list.
- -l[WHO] โ Select revisions locked by WHO (or anyone if omitted).
- -r[REVS] โ Select revisions in REVS (REV, REV:, :REV, REV1:REV2).
- -sSTATE[,STATE...] โ Select revisions with specified state(s).
- -w[WHO] โ Select revisions checked in by WHO (or by user if omitted).
- -V, -VN, -xSUFF โ See Misc common options.
- -zZONE โ Date option; also changes date output format to hyphens.
๐ ๏ธ Hacking
This chapter describes aspects of RCS interop with other programs, development ideas and methods.
๐ File Format
RCS file contents described by grammar below. Format is free-format text. Uses ISO 8859/1 encoding: visible graphic characters 041-176 and 240-377, whitespace 010-015 and 040.
๐ comma-v Grammar
rcstext ::= admin {delta}* desc {deltatext}*
admin ::= "head" {num} ";"
{ "branch" {num} ";" }
"access" {id}* ";"
"symbols" { sym ":" num }* ";"
"locks" { id ":" num }* ";"
{ "strict" ";" }
{ "integrity " {intstring} ";" }
{ "comment" {string} ";" }
{ "expand" {string} ";" }
delta ::= num
"date" num ";"
"author" id ";"
"state" {id} ";"
"branches" {num}* ";"
"next" {num} ";"
{ "commitid" sym ";" }
desc ::= "desc" string
deltatext ::= num
"log" string
"text" string
num ::= { digit | "." }+
digit ::= "0" through "9"
id ::= { idchar | "." }+
sym ::= {idchar}+
idchar ::= any visible graphic character except special
special ::= "$" | "," | "." | ":" | ";" | "@"
string ::= "@" { any character, with @ doubled }* "@"
word ::= id | num | string | ":"
intchar ::= any character, except @
thirdp ::= "^L" {intchar}*
intstring ::= "@" {intchar}* {thirdp}* "@"
๐ Additional Particulars
- Prior to 5.8 (2011-08-30), grammar included 'newphrase' for third-party interop. As of 5.8, only 'integrity' field reserved for interop, after first formfeed. Warning: this change means 'rlog' cannot be used as workalike for 'cvs log' for CVS versions that write other metadata.
- Whitespace has no significance except in string values. Whitespace cannot appear within id, num, or sym. RCS file must end with newline. String values enclosed by '@' with internal '@' doubled.
- Identifiers are case sensitive. Keywords are lower case only.
- Dates are of form 'Y.m.d.H.M.S'. Y has last two digits for years 1900-1999, all digits thereafter. Gregorian calendar, UTC.
- Delta nodes form a tree. Nodes with single pair (e.g., 2.3) are on trunk, linked through 'next' in decreasing order. 'head' points to highest pair. 'branch' indicates default branch. Nodes with 2N fields (Nโฅ2) are linked through 'next' in increasing order; branchpoint has first 2N-2 fields. 'branches' field contains list of first nodes of sequences for which it is a branchpoint.
โฑ๏ธ Stamp Resolution
Timestamps appear in two places: delta date (second resolution) and filesystem modification time (subsecond if supported). Historically up to 5.9.4, RCS was agnostic to subsecond component, except for '-T' option which ignored subsecond on read and set 0 on write. After 5.9.4, if filesystem supports it, RCS reads/writes subsecond resolution with '-T' option. Delta date is limited to second resolution by design.
โณ Still Missing
Unordered list of to-do musings:
- Add option to rcsmerge to use arbitrary 3-way merge program.
- Add format options for finer control of ident and rlog output.
- Add format options for keyword strings (prepend '@(#)', change '$').
- Add long options (e.g., --keyword-substitution).
- rlog -rM:N should work even if M and N have different number of fields.
- rcs should evaluate options in order.
- Be able to redo most recent checkin with minor changes.
- co -u shouldn't complain about '+w' working file if contents unchanged.
- Add '-' option to take list of file names from stdin (null-terminated).
- Permit multiple option-filename pairs.
- Add option to break symbolic link to RCS file instead of hard link.
- Add ways to specify earliest, latest, parent, child revisions.
- If user has multiple locks, ci should fall back on ci -k method.
- Add option to rcsclean to clean directories recursively.
- Write rcsck program to repair corrupted RCS files.
- Update date parser to use modern getdate.
- Break up code into library.
- Make it easier to use text editor for log messages.
- Let user specify search path for default branches.
- Add way for user to see which revisions affected which lines.
- rlog -nN F should print revision number N translates to.
- Add co option that prints revision number before each line (like SCCS get -m).
๐ Reporting Bugs
Visit RCS homepage to file bug report online, or email help-rcs@gnu.org. Include: RCS version, commands, hardware/OS, input files, expected behavior, problem description, configure options, anything else helpful. Patches welcome via git format-patch with ChangeLog entries.
๐ GNU Free Documentation License
Version 1.3, 3 November 2008. Copyright (C) 2000,2001,2002,2007,2008 Free Software Foundation, Inc. https://fsf.org/. Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
(Full license text omitted for brevity; see original document for complete terms.)
๐ Index
- $, special revision: Revision options.
- -A: rcsmerge.
- -d: Date option.
- -E: rcsmerge.
- -e: rcsmerge.
- -f, for ci: ci.
- -f, for co: co.
- -I: Misc common options.
- -i, for ci: ci.
- -i, for frob: rcs.
- -j, for ci: ci.
- -j, for co: co.
- -k: Substitution mode option.
- -k, for ci: ci.
- -l, for ci: ci.
- -l, for co: co.
- -m: Log message option.
- -M: minus-M.
- -p: co.
- -q: Misc common options.
- -r, for ci: ci.
- -r, for co: co.
- -s: State option.
- -t: Description option.
- -T: Misc common options.
- -u, for ci: ci.
- -u, for co: co.
- -V: Misc common options.
- -w: Misc common options.
- -x: Misc common options.
- access control policy: Concepts.
- Author: Concepts.
- author, specifying: Misc common options.
- behavior prior to version 5: Misc common options.
- behavior, version 3: Misc common options.
- behavior, version 4: Misc common options.
- binary-old-keyword-value substitution mode: Substitution mode option.
- branch growth: Revision options.
- branch number: Concepts.
- branch tip: Concepts.
- branch, default: Concepts.
- bug reporting: Reporting bugs.
- case sensitivity, file format: comma-v particulars.
- checkin: Concepts.
- checkin, initial: ci.
- checklist for bug reports: Reporting bugs.
- checkout: Concepts.
- checkout, implicit: Quick tour.
- ci invocation: ci.
- co invocation: co.
- comma-v file format: Overview.
- command help: Common elements.
- command version: Common elements.
- command-line option to specify a revision: Revision options.
- credits: Credits.
- Date: Concepts.
- date formats: Date option.
- date, specifying: Date option.
- dates, file format: comma-v particulars.
- default branch: Concepts.
- default branch, setting: rcs.
- default state: State option.
- deleting revisions: rcs.
- deleting working file: ci.
- delim-separated list: Delim-separated list.
- description of working file: Concepts.
- description text, specifying: Description option.
- empty log message: Log message option.
- emulation, previous RCS versions: Misc common options.
- encoding, file format: File format.
- environment variables: Environment.
- features, still missing: Still missing.
- file modification time: Stamp resolution.
- file names on the command-line: Common elements.
- format, RCSfile: File format.
- grammar, file format: comma-v grammar.
- Header: Concepts.
- history: Credits.
- Id: Concepts.
- ident invocation: ident.
- implicit checkout, circumstance: Quick tour.
- implicit checkout, locked: ci.
- implicit checkout, unlocked: ci.
- initial checkin: ci.
- instantiating a working file: Concepts.
- interaction model: Concepts.
- interactive mode: Misc common options.
- invocation, ci: ci.
- invocation, co: co.
- invocation, ident: ident.
- invocation, merge: merge.
- invocation, rcs: rcs.
- invocation, rcsclean: rcsclean.
- invocation, rcsdiff: rcsdiff.
- invocation, rcsmerge: rcsmerge.
- invocation, rlog: rlog.
- keyword-only substitution mode: Substitution mode option.
- keyword-value substitution mode: Substitution mode option.
- keyword-value-locker substitution mode: Substitution mode option.
- keywords, table of: Concepts.
- layout of nodes, file format: comma-v particulars.
- license: Overview.
- limitations, subsecond resolution: Stamp resolution.
- list, comma-separated: Delim-separated list.
- lock, release: ci.
- Locker: Concepts.
- locking a revision: rcs.
- locking on implicit checkout: ci.
- locking, non-strict: Quick tour.
- locking, set non-strict: rcs.
- locking, set strict: rcs.
- locking, strict: Quick tour.
- locks in RCS file: Concepts.
- Log: Concepts.
- log message, empty: Log message option.
- log message, specifying: Log message option.
- LOGNAME: Environment.
- memory limit: Environment.
- merge invocation: merge.
- model, interaction: Concepts.
- mtime, RCS file: Misc common options.
- mtime, working file: minus-M.
- Name: Concepts.
- names, symbolic: Concepts.
- node layout, file format: comma-v particulars.
- non-strict locking: Quick tour.
- number, branch: Concepts.
- number, revision: Concepts.
- old-keyword-value substitution mode: Substitution mode option.
- order of options and file names: Common elements.
- outdating revisions: rcs.
- overview: Overview.
- pairing RCS and working files: Common elements.
- patches, contributing: Reporting bugs.
- problems: Reporting bugs.
- projects, related: Overview.
- quiet mode: Misc common options.
- range of revisions, specifying: Revision options.
- RCS file: Concepts.
- rcs invocation: rcs.
- RCS version emulation: Misc common options.
- rcsclean invocation: rcsclean.
- rcsdiff invocation: rcsdiff.
- RCSfile: Concepts.
- RCSfile format: File format.
- RCSINIT: Environment.
- rcsmerge invocation: rcsmerge.
- RCS_MEM_LIMIT: Environment.
- release lock: ci.
- removing revisions: rcs.
- reporting bugs: Reporting bugs.
- resolution, timestamp: Stamp resolution.
- Revision: Concepts.
- revision number: Concepts.
- revision range, specifying: Revision options.
- revision, specifying: Revision options.
- revisions, tree of: Concepts.
- rlog invocation: rlog.
- rlog, use with CVS: comma-v particulars.
- Source: Concepts.
- special revision $: Revision options.
- specifying a date: Date option.
- specifying a range of revisions: Revision options.
- specifying a revision: Revision options.
- specifying a state: State option.
- specifying a suffix list: Misc common options.
- specifying a time/date: Date option.
- specifying author: Misc common options.
- specifying description text: Description option.
- specifying log message: Log message option.
- specifying RCS file mtime: Misc common options.
- specifying substitution mode: Substitution mode option.
- specifying working file mtime: minus-M.
- State: Concepts.
- state, specifying: State option.
- strict locking: Quick tour.
- string particulars, file format: comma-v particulars.
- subsecond resolution: Stamp resolution.
- substitution mode, default: Substitution mode option.
- substitution mode, specifying: Substitution mode option.
- suffix list, specifying: Misc common options.
- symbolic names: Concepts.
- TEMP: Environment.
- third-party interop, file format: comma-v particulars.
- Tichy, Walter F.: Credits.
- time zone: Date option.
- time, file modification: Stamp resolution.
- time/date, specifying: Date option.
- timestamp: Misc common options.
- timestamp resolution: Stamp resolution.
- tip: Concepts.
- tip increment: Revision options.
- TMP: Environment.
- TMPDIR: Environment.
- tree of revisions: Concepts.
- trunk: Concepts.
- unlocking a revision: rcs.
- USER: Environment.
- value-only substitution mode: Substitution mode option.
- whitespace, file format: comma-v particulars.
- working file, deleting: ci.
- working file, description: Concepts.
- working file, instantiation: Concepts.