home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 10 Tools
/
10-Tools.zip
/
rcstxi11.zip
/
rcstexi.110
/
rcsmerge.tex
< prev
next >
Wrap
Text File
|
1997-03-30
|
11KB
|
331 lines
@c
@c ================================================================================
@c Edition 1.1
@c of the Texinfo-manuals for the
@c (R)evision (C)ontrol (S)ystem
@c Version 5.7
@c
@c (c) 1982, 1988, 1989 Walter F. Tichy.
@c (c) 1990, 1991, 1992, 1993, 1994, 1995 Paul Eggert.
@c (c) 1996, 1997 Karl Heinz Marbaise (doing converting job)
@c ================================================================================
@c
@c Discription:
@c merging revisions.
@c
@c Authors:
@c Walter Tichy,
@c Paul Eggert,
@c Karl Heinz Marbaise (doing converting job)
@c
@c e-mail:
@c Internet: KHMarbaise@p69.ks.fido.de
@c Fido-net: 2:2452/117.69
@c
@c Bugs, question:
@c to above e-mail adress.
@c
@c License:
@c The "Texinfo Edition of the RCS V5.7 manuals" are free
@c software; you can redistribute it and/or modify it under
@c the terms of the GNU General Public License as published
@c by the Free Software Foundation; either version 2, or (at
@c your option) any later version.
@c
@c The "Texinfo Edition of the RCS V5.7 manuals" are distributed
@c in the hope that they will be useful, but WITHOUT ANY WARRANTY;
@c without even the implied warranty of MERCHANTABILITY or
@c FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
@c License for more details.
@c
@c You should have received a copy of the GNU General Public License
@c along with the "Texinfo Edition of the RCS V5.7 manuals"; see the
@c file COPYING. If not, write to the:
@c Free Software Foundation,
@c 59 Temple Place - Suite 330,
@c Boston, MA 02111-1307, USA.
@c
@c See \rcstxi.110\COPYING for details.
@c
@c ================================================================================
@c
@c
@c $Id: RCSMERGE.TEX 1.2 1997/03/30 22:53:17 KHM Exp $
@c
@c =============================================================================
@c rcsmerge -- merge RCS versions
@c -----------------------------------------------------------------------------
@node rcsmerge,rlog,rcsdiff,Top
@chapter rcsmerge -- merge RCS versions
@cindex rcsmerge
@cindex merge revisions
@menu
* rcsmergeIntro:: Introduction to @code{rcs}.
* rcsmergeOptions:: command line options of @code{rcs}.
* rcsmergeExamples:: Examples of @code{rcsmerge}.
* rcsmergeEnv:: The Environment which can change the
behaviour of much of the RCS commands.
* rcsmergeDiag:: Diagnostic output of @code{rcs}.
@end menu
@c =============================================================================
@c rcsmerge -- merge RCS versions
@c Description
@c -----------------------------------------------------------------------------
@node rcsmergeIntro,rcsmergeOptions,,rcsmerge
@section Description
rcsmerge incorporates the changes between two revisions of
an RCS file into the corresponding working file.
Pathnames matching an RCS suffix denote RCS files; all
others denote working files. Names are paired as
explained in @ref{ciFiles}.
At least one revision must be specified with one of the
options described below, usually @code{-r}.
At most two revisions may be specified. If only one
revision is specified, the latest revision on the
default branch (normally the highest branch on the
trunk) is assumed for the second revision.
Revisions may be specified numerically or symbolically.
rcsmerge prints a warning if there are overlaps, and
delimits the overlapping regions as explained in @ref{merge}.
The command is useful for incorporating changes into a
checked-out revision.
@c =============================================================================
@c rcsmerge -- merge RCS versions
@c Options
@c -----------------------------------------------------------------------------
@node rcsmergeOptions,rcsmergeExamples,rcsmergeIntro,rcsmerge
@section Command line options of rcsmerge
@ifinfo
Overview off all options which can be given to @code{rcsmerge}
@code{Synopsis}: rcsmerge [options] file @dots{}
@end ifinfo
@menu
* rcsmergeOptA:: -A Output conflicts the -A style.
* rcsmergeOptE:: -E specify Conflict style
* rcsmergeOptk:: -k Keyword substitution.
* rcsmergeOptp:: -p send to stdout.
* rcsmergeOptT:: -T Modification time.
* rcsmergeOptV:: -V Version; Emulation of RCS Version.
* rcsmergeOptx:: -x Suffixes.
* rcsmergeOptz:: -z Time zone.
@end menu
@c =============================================================================
@c rcsmerge -- merge RCS versions
@c Options
@c option -A
@c -----------------------------------------------------------------------------
@node rcsmergeOptA,rcsmergeOptE,rcsmergeOptions,rcsmergeOptions
@subsection Output conflicts
@cindex -A
@cindex diff3
@cindex diff
@table @code
@item -A
Output conflicts using the @code{-A} style of @code{diff3}, if
supported by @code{diff3}. This merges all changes leading
from @file{file2} to @file{file3} into @file{file1}, and generates
the most verbose output.
@end table
@c =============================================================================
@c rcsmerge -- merge RCS versions
@c Options
@c option -e -E
@c -----------------------------------------------------------------------------
@node rcsmergeOptE,rcsmergeOptk,rcsmergeOptA,rcsmergeOptions
@subsection Less information
@cindex -e
@cindex -E
@cindex conflict
@table @code
@item -E -e
These options specify conflict styles that generate
less information than @code{-A}. See @code{diff3} for
details. The default is @code{-E}. With @code{-e}, @code{rcsmerge}
does not warn about conflicts.
@end table
@c =============================================================================
@c rcsmerge -- merge RCS versions
@c Options
@c option -k
@c -----------------------------------------------------------------------------
@node rcsmergeOptk,rcsmergeOptp,rcsmergeOptE,rcsmergeOptions
@subsection Keyword substitution
@cindex -k
@cindex Keyword
@table @code
@item -k@file{subst}
Use @file{subst} style keyword substitution.
See @ref{coKeyword} for details.
For example, @code{-kk -r1.1 -r1.2} ignores
differences in keyword values when merging the
changes from @code{1.1} to @code{1.2}. It normally
does not make sense to merge binary files as if
they were text, so @code{rcsmerge} refuses to merge
files if @code{-kb} expansion is used.
@end table
@c =============================================================================
@c rcsmerge -- merge RCS versions
@c Options
@c option-p
@c -----------------------------------------------------------------------------
@node rcsmergeOptp,rcsmergeOptT,rcsmergeOptk,rcsmergeOptions
@subsection Send to standard out
@cindex -p
@cindex Output
@cindex send result to standard out.
@table @code
@item -p[@file{rev}]
Send the result to standard output instead of over-
writing the working file.
@end table
@c =============================================================================
@c rcsmerge -- merge RCS versions
@c Options
@c option-T
@c -----------------------------------------------------------------------------
@node rcsmergeOptT,rcsmergeOptV,rcsmergeOptp,rcsmergeOptions
@subsection Modification Time
@cindex -T
@cindex Modification Time
@table @code
@item -T
This option has no effect; it is present for compatibility
with other RCS commands.
@end table
@c =============================================================================
@c rcsmerge -- merge RCS versions
@c Options
@c option-V
@c -----------------------------------------------------------------------------
@node rcsmergeOptV,rcsmergeOptx,rcsmergeOptT,rcsmergeOptions
@subsection Version
@cindex -V
@cindex Version
@cindex Emulation of RCS
@table @code
@item -V
Print RCS's version number.
@item -V@file{n}
Emulate RCS version @file{n}. See @ref{coOptV} for details.
@end table
@c =============================================================================
@c rcsmerge -- merge RCS versions
@c Options
@c option-x
@c -----------------------------------------------------------------------------
@node rcsmergeOptx,rcsmergeOptz,rcsmergeOptV,rcsmergeOptions
@subsection Suffixes
@cindex -x
@cindex Suffixes
@table @code
@item -x@file{suffixes}
Use @file{suffixes} to characterize RCS files. See @ref{ciOptx}.
@end table
@c =============================================================================
@c rcsmerge -- merge RCS versions
@c Options
@c option-z
@c -----------------------------------------------------------------------------
@node rcsmergeOptz,,rcsmergeOptx,rcsmergeOptions
@subsection Time Zone
@cindex -z
@cindex Time Zone
@table @code
@item -z@file{zone}
Use @file{zone} as the time zone for keyword substitution.
See @ref{coOptz} for details.
@end table
@c =============================================================================
@c rcsmerge -- merge RCS versions
@c Examples
@c -----------------------------------------------------------------------------
@node rcsmergeExamples,rcsmergeEnv,rcsmergeOptions,rcsmerge
@subsection Examples
@cindex Examples
Suppose you have released revision @code{2.8} of @file{f.c}. Assume
furthermore that after you complete an unreleased revision
@code{3.4}, you receive updates to release @code{2.8} from someone else.
To combine the updates to @code{2.8} and your changes between @code{2.8}
and @code{3.4}, put the updates to @code{2.8} into file @file{f.c} and execute
@example
rcsmerge -p -r2.8 -r3.4 f.c >f.merged.c
@end example
Then examine @file{f.merged.c}. Alternatively, if you want to
save the updates to @code{2.8} in the RCS file, check them in as
revision @code{2.8.1.1} and execute @code{co -j}:
@example
ci -r2.8.1.1 f.c
co -r3.4 -j2.8:2.8.1.1 f.c
@end example
As another example, the following command undoes the
changes between revision @code{2.4} and @code{2.8} in your currently
checked out revision in @file{f.c}.
@example
rcsmerge -r2.8 -r2.4 f.c
@end example
Note the order of the arguments, and that @file{f.c} will be
overwritten.
@c =============================================================================
@c rcsmerge -- merge RCS versions
@c Envrionment
@c -----------------------------------------------------------------------------
@node rcsmergeEnv,rcsmergeDiag,rcsmergeExamples,rcsmerge
@section Environment
@cindex Environment
@table @code
@item RCSINIT
options prepended to the argument list, separated by spaces.
See @ref{ciEnv} for details.
@end table
@c =============================================================================
@c rcsmerge -- merge RCS versions
@c Diagnostics
@c -----------------------------------------------------------------------------
@node rcsmergeDiag,,rcsmergeEnv,rcsmerge
@section Diagnostics
Exit status is 0 for no overlaps, 1 for some overlaps, 2
for trouble.