RCS(1) UNIX Programmer's Manual RCS(1) NAME rcs - change RCS file attributes SYNOPSIS rcs [ options ] file ... DESCRIPTION _R_c_s creates new RCS files or changes attributes of existing ones. An RCS file contains multiple revisions of text, an access list, a change log, descriptive text, and some con- trol attributes. For _r_c_s to work, the caller's login name must be on the access list, except if the access list is empty, the caller is the owner of the file or the superuser, or the -i option is present. Files ending in `,v' are RCS files, all others are working files. If a working file is given, _r_c_s tries to find the corresponding RCS file first in directory ./RCS and then in the current directory, as explained in _c_o (1). -i creates and initializes a new RCS file, but does not deposit any revision. If the RCS file has no path prefix, _r_c_s tries to place it first into the subdirectory ./RCS, and then into the current directory. If the RCS file already exists, an error message is printed. -a_l_o_g_i_n_s appends the login names appearing in the comma- separated list _l_o_g_i_n_s to the access list of the RCS file. -A_o_l_d_f_i_l_e appends the access list of _o_l_d_f_i_l_e to the access list of the RCS file. -e[_l_o_g_i_n_s] erases the login names appearing in the comma- separated list _l_o_g_i_n_s from the access list of the RCS file. If _l_o_g_i_n_s is omitted, the entire access list is erased. -c_s_t_r_i_n_g sets the comment leader to _s_t_r_i_n_g. The comment leader is printed before every log message line generated by the keyword $Log$ during checkout (see _c_o). This is useful for programming languages without multi-line comments. During _r_c_s -_i or initial _c_i, the comment leader is guessed from the suffix of the working file. -l[_r_e_v] locks the revision with number _r_e_v. If a branch is given, the latest revision on that branch is locked. If _r_e_v is omitted, the latest revision on the trunk is locked. Locking prevents over- lapping changes. A lock is removed with _c_i or Printed 11/24/99 6/29/83 1 RCS(1) UNIX Programmer's Manual RCS(1) _r_c_s -_u (see below). -u[_r_e_v] unlocks the revision with number _r_e_v. If a branch is given, the latest revision on that branch is unlocked. If _r_e_v is omitted, the latest lock held by the caller is removed. Nor- mally, only the locker of a revision may unlock it. Somebody else unlocking a revision breaks the lock. This causes a mail message to be sent to the original locker. The message contains a commentary solicited from the breaker. The com- mentary is terminated with a line containing a single `.' or control-D. -L sets locking to _s_t_r_i_c_t. Strict locking means that the owner of an RCS file is not exempt from lock- ing for checkin. This option should be used for files that are shared. -U sets locking to non-strict. Non-strict locking means that the owner of a file need not lock a revision for checkin. This option should NOT be used for files that are shared. The default (-L or -U) is determined by your system administra- tor. -n_n_a_m_e[:_r_e_v] associates the symbolic name _n_a_m_e with the branch or revision _r_e_v. _R_c_s prints an error message if _n_a_m_e is already associated with another number. If _r_e_v is omitted, the symbolic name is deleted. -N_n_a_m_e[:_r_e_v] same as -n, except that it overrides a previous assignment of _n_a_m_e. -o_r_a_n_g_e deletes ("outdates") the revisions given by _r_a_n_g_e. A range consisting of a single revision number means that revision. A range consisting of a branch number means the latest revision on that branch. A range of the form _r_e_v_1-_r_e_v_2 means revisions _r_e_v_1 to _r_e_v_2 on the same branch, -_r_e_v means from the beginning of the branch containing _r_e_v up to and including _r_e_v, and _r_e_v- means from revision _r_e_v to the end of the branch containing _r_e_v. None of the outdated revisions may have branches or locks. -q quiet mode; diagnostics are not printed. -s_s_t_a_t_e[:_r_e_v] sets the state attribute of the revision _r_e_v to Printed 11/24/99 6/29/83 2 RCS(1) UNIX Programmer's Manual RCS(1) _s_t_a_t_e. If _r_e_v is omitted, the latest revision on the trunk is assumed; If _r_e_v is a branch number, the latest revision on that branch is assumed. Any identifier is acceptable for _s_t_a_t_e. A useful set of states is _E_x_p (for experimental), _S_t_a_b (for stable), and _R_e_l (for released). By default, _c_i sets the state of a revision to _E_x_p. -t[_t_x_t_f_i_l_e] writes descriptive text into the RCS file (deletes the existing text). If _t_x_t_f_i_l_e is omit- ted, _r_c_s prompts the user for text supplied from the std. input, terminated with a line containing a single `.' or control-D. Otherwise, the descriptive text is copied from the file _t_x_t_f_i_l_e. If the -i option is present, descriptive text is requested even if -t is not given. The prompt is suppressed if the std. input is not a terminal. DIAGNOSTICS The RCS file name and the revisions outdated are written to the diagnostic output. The exit status always refers to the last RCS file operated upon, and is 0 if the operation was successful, 1 otherwise. FILES The caller of the command must have read/write permission for the directory containing the RCS file and read permis- sion for the RCS file itself. _R_c_s creates a semaphore file in the same directory as the RCS file to prevent simultane- ous update. For changes, _r_c_s always creates a new file. On successful completion, _r_c_s deletes the old one and renames the new one. This strategy makes links to RCS files use- less. IDENTIFICATION Author: Walter F. Tichy, Purdue University, West Lafayette, IN, 47907. Revision Number: 3.1 ; Release Date: 83/04/04 . Copyright (C) 1982 by Walter F. Tichy. SEE ALSO co (1), ci (1), ident(1), rcsdiff (1), rcsintro (1), rcsmerge (1), rlog (1), rcsfile (5), sccstorcs (8). Walter F. Tichy, "Design, Implementation, and Evaluation of a Revision Control System," in _P_r_o_c_e_e_d_i_n_g_s _o_f _t_h_e _6_t_h _I_n_t_e_r_- _n_a_t_i_o_n_a_l _C_o_n_f_e_r_e_n_c_e _o_n _S_o_f_t_w_a_r_e _E_n_g_i_n_e_e_r_i_n_g, IEEE, Tokyo, Sept. 1982. BUGS Printed 11/24/99 6/29/83 3