|
|
1.1 ! root 1: .TH CI 1L "" "Purdue University" ! 2: .SH NAME ! 3: ci \- check in RCS revisions ! 4: .SH SYNOPSIS ! 5: .B ci ! 6: [ options ] ! 7: file ... ! 8: .SH DESCRIPTION ! 9: .I Ci ! 10: stores new revisions into RCS files. ! 11: Each file name ending in `,v' is taken to be an RCS file, all others ! 12: are assumed to be working files containing new revisions. ! 13: \fICi\fR deposits the contents of each working file ! 14: into the corresponding RCS file. ! 15: If only a working file is given, \fIci\fR tries to find the corresponding ! 16: RCS file in the directory ./RCS and then in the current directory. ! 17: For more details, see the file naming section below. ! 18: .PP ! 19: For \fIci\fR to work, the caller's login must be on the access list, ! 20: except if the access list is empty or the caller is the superuser or the ! 21: owner of the file. ! 22: To append a new revision to an existing branch, the tip revision on ! 23: that branch must be locked by the caller. Otherwise, only a ! 24: new branch can be created. This restriction is not enforced ! 25: for the owner of the file, unless locking is set to \fIstrict\fR ! 26: (see ! 27: .IR rcs (1L)). ! 28: A lock held by someone else may be broken with the \fIrcs\fR command. ! 29: .PP ! 30: Normally, \fIci\fR checks whether the revision to be deposited is different ! 31: from the preceding one. If it is not different, \fIci\fR ! 32: either aborts the deposit (if ! 33: .B \-q ! 34: is given) or asks whether to abort ! 35: (if ! 36: .B \-q ! 37: is omitted). A deposit can be forced with the ! 38: .B \-f ! 39: option. ! 40: .PP ! 41: For each revision deposited, ! 42: .I ci ! 43: prompts for a log message. ! 44: The log message should summarize the change and must be terminated with ! 45: a line containing a single `.' or a control-D. ! 46: If several files are checked in, \fIci\fR asks whether to reuse the ! 47: previous log message. ! 48: If the standard input is not a terminal, \fIci\fR suppresses the prompt ! 49: and uses the same log message for all files. ! 50: See also \fB\-m\fR. ! 51: .PP ! 52: The number of the deposited revision can be given by any of the options ! 53: \fB\-r\fR, \fB\-f\fR, \fB\-k\fR, \fB\-l\fR, \fB\-u\fR, or \fB\-q\fR. ! 54: .PP ! 55: If the RCS file does not exist, \fIci\fR creates it and ! 56: deposits the contents of the working file as the initial revision ! 57: (default number: 1.1). ! 58: The access list is initialized to empty. ! 59: Instead of the log message, \fIci\fR requests descriptive text (see ! 60: \fB\-t\fR below). ! 61: .TP 10 ! 62: .BR \-r [\fIrev\fR] ! 63: assigns the revision number \fIrev\fR ! 64: to the checked-in revision, releases the corresponding lock, and ! 65: deletes the working file. This is the default. ! 66: \fIRev\fR may be symbolic, numeric, or mixed. ! 67: ! 68: If \fIrev\fR is a revision number, it must be higher than the latest ! 69: one on the branch to which \fIrev\fR belongs, or must start a new branch. ! 70: ! 71: If \fIrev\fR is a branch rather than a revision number, ! 72: the new revision is appended to that branch. The level number is obtained ! 73: by incrementing the tip revision number of that branch. ! 74: If \fIrev\fR indicates a non-existing branch, ! 75: that branch is created with the initial revision numbered ! 76: .IR rev .1. ! 77: ! 78: .ne 8 ! 79: If \fIrev\fR is omitted, \fIci\fR tries to derive the new revision number from ! 80: the caller's last lock. If the caller has locked the tip revision of a branch, ! 81: the new revision is appended to that branch. The new revision number is obtained ! 82: by incrementing the tip revision number. ! 83: If the caller locked a non-tip revision, a new branch is started at ! 84: that revision by incrementing the highest branch number at that revision. ! 85: The default initial branch and level numbers are 1. ! 86: ! 87: If \fIrev\fR is omitted and the caller has no lock, but he is the owner ! 88: of the file and locking ! 89: is not set to \fIstrict\fR, then the revision is appended to the ! 90: default branch (normally the trunk; see the ! 91: .B \-b ! 92: option of ! 93: .IR rcs (1L)). ! 94: ! 95: Exception: On the trunk, revisions can be appended to the end, but ! 96: not inserted. ! 97: .TP 10 ! 98: .BR \-f [\fIrev\fR] ! 99: forces a deposit; the new revision is deposited even it is not different ! 100: from the preceding one. ! 101: .TP 10 ! 102: .BR \-k [\fIrev\fR] ! 103: searches the working file for keyword values to determine its revision number, ! 104: creation date, state, and author (see \fIco\fR(1)), and assigns these ! 105: values to the deposited revision, rather than computing them locally. ! 106: It also generates a default login message noting the login of the caller ! 107: and the actual checkin date. ! 108: This option is useful for software distribution. A revision that is sent to ! 109: several sites should be checked in with the \fB\-k\fR option at these sites to ! 110: preserve the original number, date, author, and state. ! 111: The extracted keyword values and the default log message may be overridden ! 112: with the options \fB\-r\fR, \fB\-d\fR, \fB\-s\fR, \fB\-w\fR, and \fB\-m\fR. ! 113: .TP 10 ! 114: .BR \-l [\fIrev\fR] ! 115: works like \fB\-r\fR, except it performs an additional \fIco \fB\-l\fR for the ! 116: deposited revision. Thus, the deposited revision is immediately ! 117: checked out again and locked. ! 118: This is useful for saving a revision although one wants to continue ! 119: editing it after the checkin. ! 120: .TP 10 ! 121: .BR \-u [\fIrev\fR] ! 122: works like \fB\-l\fR, except that the deposited revision is not locked. ! 123: This is useful if one wants to process (e.g., compile) the revision ! 124: immediately after checkin. ! 125: .TP 10 ! 126: .BR \-q [\fIrev\fR] ! 127: quiet mode; diagnostic output is not printed. ! 128: A revision that is not different from the preceding one is not deposited, ! 129: unless \fB\-f\fR is given. ! 130: .TP 10 ! 131: .BI \-d "date" ! 132: uses \fIdate\fR for the checkin date and time. ! 133: \fIDate\fR may be specified in free format as explained in \fIco\fR(1). ! 134: Useful for lying about the checkin date, and for ! 135: .B \-k ! 136: if no date is available. ! 137: .TP 10 ! 138: .BI \-m "msg" ! 139: uses the string \fImsg\fR as the log message for all revisions checked in. ! 140: .TP 10 ! 141: .BI \-n "name" ! 142: assigns the symbolic name \fIname\fR to the number of the checked-in revision. ! 143: \fICi\fR prints an error message if \fIname\fR is already assigned to another ! 144: number. ! 145: .TP 10 ! 146: .BI \-N "name" ! 147: same as \fB\-n\fR, except that it overrides a previous assignment of \fIname\fR. ! 148: .TP ! 149: .BI \-s "state" ! 150: sets the state of the checked-in revision to the identifier \fIstate\fR. ! 151: The default is \fIExp\fR. ! 152: .TP ! 153: .BR \-t [\fItxtfile\fR] ! 154: writes descriptive text into the RCS file (deletes the existing text). ! 155: If \fItxtfile\fR is omitted, ! 156: \fIci\fR prompts the user for text supplied from the standard input, ! 157: terminated with a line containing a single `.' or control-D. ! 158: Otherwise, the descriptive text is copied from the file \fItxtfile\fR. ! 159: During initialization, descriptive text is requested ! 160: even if \fB\-t\fR is not given. ! 161: The prompt is suppressed if standard input is not a terminal. ! 162: .TP ! 163: .BI \-w "login" ! 164: uses \fIlogin\fR for the author field of the deposited revision. ! 165: Useful for lying about the author, and for ! 166: .B \-k ! 167: if no author is available. ! 168: .SH "FILE NAMING" ! 169: Pairs of RCS files and working files may be specified in 3 ways (see also the ! 170: example section of \fIco\fR(1)). ! 171: .PP ! 172: 1) Both the RCS file and the working file are given. The RCS file name is of ! 173: the form \fIpath1/workfile,v\fR ! 174: and the working file name is of the form ! 175: \fIpath2/workfile\fR, where ! 176: \fIpath1/\fR and ! 177: \fIpath2/\fR are (possibly different or empty) paths and ! 178: \fIworkfile\fR is a file name. ! 179: .PP ! 180: 2) Only the RCS file is given. ! 181: Then the working file is assumed to be in the current ! 182: directory and its name is derived from the name of the RCS file ! 183: by removing \fIpath1/\fR and the suffix \fI,v\fR. ! 184: .PP ! 185: 3) Only the working file is given. ! 186: Then \fIci\fR looks for an RCS file of the form ! 187: \fIpath2/RCS/workfile,v\fR or \fIpath2/workfile,v\fR (in this order). ! 188: .PP ! 189: If the RCS file is specified without a path in 1) and 2), then \fIci\fR ! 190: looks for the RCS file first in the directory ./RCS and then in the current ! 191: directory. ! 192: .SH "FILE MODES" ! 193: An RCS file created by \fIci\fR inherits the read and execute permissions ! 194: from the working file. If the RCS file exists already, \fIci\fR ! 195: preserves its read and execute permissions. ! 196: \fICi\fR always turns off all write permissions of RCS files. ! 197: .SH FILES ! 198: The caller of the command ! 199: must have read/write permission for the directories containing ! 200: the RCS file and the working file, and read permission for the RCS file itself. ! 201: A number of temporary files are created. ! 202: A semaphore file is created in the directory containing the RCS file. ! 203: \fICi\fR always creates a new RCS file and unlinks the old one. ! 204: This strategy makes links to RCS files useless. ! 205: .SH DIAGNOSTICS ! 206: For each revision, ! 207: \fIci\fR prints the RCS file, the working file, and the number ! 208: of both the deposited and the preceding revision. ! 209: The exit status always refers to the last file checked in, ! 210: and is 0 if the operation was successful, 1 otherwise. ! 211: .SH IDENTIFICATION ! 212: .de VL ! 213: \\$2 ! 214: .. ! 215: Author: Walter F. Tichy, ! 216: Purdue University, West Lafayette, IN, 47907. ! 217: .sp 0 ! 218: Revision Number: ! 219: .VL $Revision: 1.3 $ ! 220: ; Release Date: ! 221: .VL $Date: 89/05/02 11:12:08 $ ! 222: \&. ! 223: .sp 0 ! 224: Copyright \(co 1982, 1988, 1989 by Walter F. Tichy. ! 225: .SH SEE ALSO ! 226: co(1L), ident(1L), rcs(1L), rcsdiff(1L), rcsintro(1L), rcsmerge(1L), rlog(1L), ! 227: rcsfile(5L) ! 228: .sp 0 ! 229: Walter F. Tichy, "Design, Implementation, and Evaluation of a Revision Control ! 230: System," in \fIProceedings of the 6th International Conference on Software ! 231: Engineering\fR, IEEE, Tokyo, Sept. 1982.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.