Deleted Added
full compact
1.\" Format this file with:
2.\" pic file | tbl | troff -ms
3.\"
4.\" \*s stands for $, and avoids problems when this file is checked in.
5.ds s $
6.\" PS and PE center pic diagrams. (The corresponding ms-macros may not.)
7.de PS
8.nr pE (\\n(.lu-\\$2u)/2u
9.in +\\n(pEu
10.ne \\$1u
11..
12.de PE
13.in -\\n(pEu
14..
6.de D(
7.DS
8.nr VS 12p
9.vs 12p
10.I
11..
12.de D)
13.DE
14.nr VS 18p
15.vs 18p
16.R
17..
18.de Id
19.ND \\$4
20..
30.Id $Id: rcs.ms,v 5.2 1991/01/03 10:57:28 eggert Exp $
21.Id $Id: rcs.ms,v 5.4 1995/06/01 16:23:43 eggert Exp $
22.RP
23.TL
24RCS\*-A System for Version Control
25.sp
26.AU
27Walter F. Tichy
28.AI
29Department of Computer Sciences

--- 248 unchanged lines hidden (view full) ---

278The marker
279.D(
280\*sLog\*s
281.D)
282has a similar function. It accumulates
283the log messages that are requested during check-in.
284Thus, one can maintain the complete history of a revision directly inside it,
285by enclosing it in a comment.
295Figure 1 is a partial reproduction of a log contained in revision 4.1 of
286Figure 1 is an edited version of a log contained in revision 4.1 of
287the file \fIci.c\fR. The log appears at the beginning of the file,
288and makes it easy to determine what the recent modifications were.
289.sp
290.nr VS 12p
291.vs 12p
292.ne 18
293.nf
294.in +0.5i
304/* \*sLog: ci.c,v \*s
305 * Revision 4.1 1983/05/10 17:03:06 wft
306 * Added option \-d and \-w, and updated assignment of date, etc. to new delta.
307 * Added handling of default branches.
308 *
309 * Revision 3.9 1983/02/15 15:25:44 wft
310 * Added call to fastcopy() to copy remainder of RCS file.
311 *
312 * Revision 3.8 1983/01/14 15:34:05 wft
313 * Added ignoring of interrupts while new RCS file is renamed;
314 * avoids deletion of RCS files by interrupts.
315 *
316 * Revision 3.7 1982/12/10 16:09:20 wft
317 * Corrected checking of return code from diff.
318 * An RCS file now inherits its mode during the first ci from the working file,
319 * except that write permission is removed.
320 */
295/*
296.in +\w'/'u
297* \*sLog: ci.c,v \*s
298* Revision 4.1 1983/05/10 17:03:06 wft
299* Added option \-d and \-w, and updated assignment of date, etc. to new delta.
300* Added handling of default branches.
301*
302* Revision 3.9 1983/02/15 15:25:44 wft
303* Added call to fastcopy() to copy remainder of RCS file.
304*
305* Revision 3.8 1983/01/14 15:34:05 wft
306* Added ignoring of interrupts while new RCS file is renamed;
307* avoids deletion of RCS files by interrupts.
308*
309* Revision 3.7 1982/12/10 16:09:20 wft
310* Corrected checking of return code from diff.
311* An RCS file now inherits its mode during the first ci from the working file,
312* except that write permission is removed.
313*/
314.in 0
315.ce 1
316Figure 1. Log entries produced by the marker \*sLog\*s.
317.fi
318.nr VS 18p
319.vs 18p
320.sp 0
321.LP

--- 87 unchanged lines hidden (view full) ---

409.R
410This sequence of commands transforms the tree of Figure 2 into
411the one in Figure 3.
412Note that it may be necessary to incorporate the differences
413between 1.3 and 1.3.1.1
414into a revision at level 2. The operation \fIrcsmerge\fR automates this
415process (see the Appendix).
416.ne 7
424.PS 4i
417.PS 4i
418.ps -2
419 box "1.1"
420 arrow
421 box "1.2"
422 arrow
423R13: box "1.3"
424 arrow
425R21: box "2.1"

--- 22 unchanged lines hidden (view full) ---

448the customer's RCS file, and the customer
449can then merge the local modifications back into the new release.
450In the above example, a
451customer's RCS file would contain the following tree, assuming
452that the customer has received revision 1.3, added his local modifications
453as revision 1.3.1.1, then received revision 2.4, and merged
4542.4 and 1.3.1.1, resulting in 2.4.1.1.
455.ne 7
463.PS 4i
456.PS 4i
457.ps -2
458R13: box "1.3"
459 line invis
460R21: box invis
461 line invis
462R22: box invis
463 line invis
464R24: box "2.4"

--- 84 unchanged lines hidden (view full) ---

549RCS uses \fIforward\fR deltas for branches. Regenerating a revision
550on a side branch proceeds as follows. First, extract the latest revision
551on the trunk; secondly, apply reverse deltas until the fork revision for
552the branch is obtained; thirdly, apply forward deltas until the desired
553branch revision is reached. Figure 5 illustrates a tree with
554one side branch. Triangles pointing to the left and right represent
555reverse and forward deltas, respectively.
556.ne 8
564.PS 4i
557.PS 4i
558.ps -2
559define BD X [line invis $1 right .5;
560line up .3 then left .5 down .3 then right .5 down .3 then up .3] X
561
562define FD X [line invis $1 right .5;
563line left .5 down .3 then up .6 then right .5 down .3;] X
564
565right
573D11: BD(" 1.1")
566D11: BD(" 1.1")
567 arrow right from D11.e
575D12: BD(" 1.2")
576 arrow right from D12.e
577D13: BD(" 1.3")
578 arrow right from D13.e
579D21: BD(" 2.1")
580 arrow right from D21.e
581D22: box "2.2"
568D12: BD(" 1.2")
569 arrow right from D12.e
570D13: BD(" 1.3")
571 arrow right from D13.e
572D21: BD(" 2.1")
573 arrow right from D21.e
574D22: box "2.2"
575 line invis down from D21.s
583F1: FD("1.3.1.1 ")
576F1: FD("1.3.1.1 ")
577 arrow from D13.se to F1.w
578 arrow from F1.e right
579 right
587F2: FD("1.3.1.2 ")
580F2: FD("1.3.1.2 ")
581.ps +2
582.PE
583.ce 1
584Figure 5. A revision tree with reverse and forward deltas.
585.sp 0
586.PP
587Although implementing fast check-out for the latest trunk revision,
588this arrangement has the disadvantage that generation of other revisions

--- 690 unchanged lines hidden (view full) ---

1279from any file and prints them.
1280.IP "\fIrcs\fP \fB\- change RCS file attributes\fP"
1281.sp 0
1282\fIRcs\fR is an administrative operation that changes access lists,
1283locks, unlocks, breaks locks, toggles the strict-locking feature,
1284sets state attributes and symbolic revision numbers, changes the
1285description, and deletes revisions. A revision can
1286only be deleted if it is not the fork of a side branch.
1287.br
1288.ne 10
1289.IP "\fIrcsclean\fP \fB\- clean working directory\fP"
1290.sp 0
1296.ne 10
1291\fIRcsclean\fR removes working files that were checked out but never changed.*
1292.FS *
1293The \fIrcsclean\fP and \fIrcsfreeze\fP commands
1294are optional and are not always installed.
1295.FE
1296.IP "\fIrcsdiff\fP \fB\- compare revisions\fP"
1297.sp 0
1298\fIRcsdiff\fR compares two revisions and prints their

--- 220 unchanged lines hidden ---