rcsmerge.1 revision 9
1.de Id
2.ds Rv \\$3
3.ds Dt \\$4
4..
5.Id $Id: rcsmerge.1,v 5.3 1991/08/19 03:13:55 eggert Exp $
6.ds r \&\s-1RCS\s0
7.if n .ds - \%--
8.if t .ds - \(em
9.TH RCSMERGE 1 \*(Dt GNU
10.SH NAME
11rcsmerge \- merge RCS revisions
12.SH SYNOPSIS
13.B rcsmerge
14.RI [ options ] " file"
15.SH DESCRIPTION
16.B rcsmerge
17incorporates the changes between two revisions
18of an \*r file into the corresponding working file.
19.PP
20Pathnames matching an \*r suffix denote \*r files;
21all others denote working files.
22Names are paired as explained in
23.BR ci (1).
24.PP
25At least one revision must be specified with one of the options
26described below, usually
27.BR \-r .
28At most two revisions may be specified.
29If only one revision is specified, the latest
30revision on the default branch (normally the highest branch on the trunk)
31is assumed for the second revision.
32Revisions may be specified numerically or symbolically.
33.PP
34.B rcsmerge
35prints a warning if there are overlaps, and delimits
36the overlapping regions as explained in
37.BR merge (1).
38The command is useful for incorporating changes into a checked-out revision.
39.SH OPTIONS
40.TP
41.BI \-k subst
42Use
43.I subst
44style keyword substitution.
45See
46.BR co (1)
47for details.
48For example,
49.B "\-kk\ \-r1.1\ \-r1.2"
50ignores differences in keyword values when merging the changes from
51.B 1.1
52to
53.BR 1.2 .
54.TP
55.BR \-p [\f2rev\fP]
56Send the result to standard output instead of overwriting the working file.
57.TP
58.BR \-q [\f2rev\fP]
59Run quietly; do not print diagnostics.
60.TP
61.BR \-r [\f2rev\fP]
62Merge with respect to revision
63.IR rev .
64Here an empty
65.I rev
66stands for the latest revision on the default branch, normally the head.
67.TP
68.BI \-V n
69Emulate \*r version
70.IR n .
71See
72.BR co (1)
73for details.
74.TP
75.BI \-x "suffixes"
76Use
77.I suffixes
78to characterize \*r files.
79See
80.BR ci (1)
81for details.
82.SH EXAMPLES
83Suppose you have released revision 2.8 of
84.BR f.c .
85Assume
86furthermore that after you complete an unreleased revision 3.4, you receive
87updates to release 2.8 from someone else.
88To combine the updates to 2.8 and your changes between 2.8 and 3.4,
89put the updates to 2.8 into file f.c and execute
90.LP
91.B "    rcsmerge  \-p  \-r2.8  \-r3.4  f.c  >f.merged.c"
92.PP
93Then examine
94.BR f.merged.c .
95Alternatively, if you want to save the updates to 2.8 in the \*r file,
96check them in as revision 2.8.1.1 and execute
97.BR "co \-j":
98.LP
99.B "    ci  \-r2.8.1.1  f.c"
100.br
101.B "    co  \-r3.4  \-j2.8:2.8.1.1  f.c"
102.PP
103As another example, the following command undoes the changes
104between revision 2.4 and 2.8 in your currently checked out revision
105in
106.BR f.c .
107.LP
108.B "    rcsmerge  \-r2.8  \-r2.4  f.c"
109.PP
110Note the order of the arguments, and that
111.B f.c
112will be
113overwritten.
114.SH ENVIRONMENT
115.TP
116.B \s-1RCSINIT\s0
117options prepended to the argument list, separated by spaces.
118See
119.BR ci (1)
120for details.
121.SH DIAGNOSTICS
122Exit status is 0 for no overlaps, 1 for some overlaps, 2 for trouble.
123.SH IDENTIFICATION
124Author: Walter F. Tichy.
125.br
126Revision Number: \*(Rv; Release Date: \*(Dt.
127.br
128Copyright \(co 1982, 1988, 1989 by Walter F. Tichy.
129.br
130Copyright \(co 1990, 1991 by Paul Eggert.
131.SH "SEE ALSO"
132ci(1), co(1), ident(1), merge(1), rcs(1), rcsdiff(1), rcsintro(1), rlog(1),
133rcsfile(5)
134.br
135Walter F. Tichy,
136\*r\*-A System for Version Control,
137.I "Software\*-Practice & Experience"
138.BR 15 ,
1397 (July 1985), 637-654.
140.br
141