home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 10 Tools
/
10-Tools.zip
/
rcstxi11.zip
/
rcstexi.110
/
merge.tex
< prev
next >
Wrap
Text File
|
1997-03-30
|
8KB
|
238 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 three way file merge
@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: MERGE.TEX 1.2 1997/03/30 22:53:13 KHM Exp $
@c
@c =============================================================================
@c merge -- three-way file merge
@c -----------------------------------------------------------------------------
@node merge,AppendixA,rlog,Top
@chapter merge -- three-way file merge
@cindex merge
@cindex file merge
@menu
* mergeIntro:: Introduction to @code{merge}.
* mergeOptions:: command line options of @code{merge}.
* mergeDiag:: Diagnostic output of @code{merge}.
* mergeBugs:: Bugs.
@end menu
@c =============================================================================
@c merge -- three-way file merge
@c Description
@c -----------------------------------------------------------------------------
@node mergeIntro,mergeOptions,,merge
@section Description
@code{merge} incorporates all changes that lead from @file{file2} to
@file{file3} into @file{file1}. The result ordinarily goes
into @file{file1}.
merge is useful for combining separate changes to an original.
Suppose @file{file2} is the original, and both @file{file1} and
@file{file3} are modifications of @file{file2} . Then merge combines
both changes.
A conflict occurs if both @file{file1} and @file{file3} have changes in
a common segment of lines. If a conflict is found, merge
normally outputs a warning and brackets the conflict with
@code{<<<<<<<} and @code{>>>>>>>} lines. A typical conflict will look
like this:
@example
@group
<<<<<<< file A
lines in file A
=======
lines in file B
>>>>>>> file B
@end group
@end example
If there are conflicts, the user should edit the result
and delete one of the alternatives.
@c =============================================================================
@c merge -- three-way file merge
@c Options
@c -----------------------------------------------------------------------------
@node mergeOptions,mergeDiag,mergeIntro,merge
@section Command line options of merge
@ifinfo
Overview off all options which can be given to @code{merge}
@code{Synopsis}: merge [options] file1 file2 file3
@end ifinfo
@menu
* mergeOptA:: -A Style of diff3.
* mergeOptE:: -E Conflict style.
* mergeOptL:: -L Labels.
* mergeOptp:: -p Send to standard output.
* mergeOptq:: -q Quite mode.
* mergeOptV:: -V Version.
@end menu
@c =============================================================================
@c merge -- three-way file merge
@c Options
@c option -A
@c -----------------------------------------------------------------------------
@node mergeOptA,mergeOptE,mergeOptions,mergeOptions
@subsection Output conflicts
@cindex -A
@cindex Output conflicts
@cindex diff3
@table @code
@item -A
Output conflicts using the @code{-A} style of @code{diff3}, if
supported by 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 merge -- three-way file merge
@c Options
@c option -E
@c -----------------------------------------------------------------------------
@node mergeOptE,mergeOptL,mergeOptA,mergeOptions
@subsection Specify conflict styles
@cindex -E
@cindex -e
@cindex conflict styles
@cindex diff3
@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}, merge does
not warn about conflicts.
@end table
@c =============================================================================
@c merge -- three-way file merge
@c Options
@c option -L
@c -----------------------------------------------------------------------------
@node mergeOptL,mergeOptp,mergeOptE,mergeOptions
@subsection Label
@cindex -L
@table @code
@item -L@file{label}
This option may be given up to three times, and
specifies labels to be used in place of the corresponding
file names in conflict reports. That is,
@code{merge -L x -L y -L z a b c} generates output that
looks like it came from files @file{x}, @file{y} and @file{z}instead of
from files @file{a}, @file{b} and @file{c}.
@end table
@c =============================================================================
@c merge -- three-way file merge
@c Options
@c option -p
@c -----------------------------------------------------------------------------
@node mergeOptp,mergeOptq,mergeOptL,mergeOptions
@subsection Standard output
@cindex -p
@cindex Standard output
@table @code
@item -p
Send results to standard output instead of overwriting
@file{file1}.
@end table
@c =============================================================================
@c merge -- three-way file merge
@c Options
@c option -q
@c -----------------------------------------------------------------------------
@node mergeOptq,mergeOptV,mergeOptp,mergeOptions
@subsection Quiet Mode
@cindex -q
@cindex Quiet mode
@table @code
@item -q
Quiet; do not warn about conflicts.
@end table
@c =============================================================================
@c merge -- three-way file merge
@c Options
@c option -V
@c -----------------------------------------------------------------------------
@node mergeOptV,,mergeOptq,mergeOptions
@subsection Version
@cindex -V
@cindex Version
@table @code
@item -V
Print's version number.
@end table
@c =============================================================================
@c merge -- three-way file merge
@c Diagnostics
@c -----------------------------------------------------------------------------
@node mergeDiag,mergeBugs,mergeOptions,merge
@section Diagnostics
Exit status is 0 for no conflicts, 1 for some conflicts, 2
for trouble.
@c =============================================================================
@c merge -- three-way file merge
@c Bugs
@c -----------------------------------------------------------------------------
@node mergeBugs,,mergeDiag,merge
@section Bugs
It normally does not make sense to merge binary files as
if they were text, but merge tries to do it anyway.