NAME
diff3 - 3-way differential file comparison
SYNOPSIS
diff3 [ -exEX3 ] file1 file2 file3
DESCRIPTION
Diff3 compares three versions of a file, and publishes
disagreeing
ranges of text flagged with these codes:
==== all three files differ
====1 file1 is different
====2 file2 is different
====3 file3 is different
The type of change suffered in
converting a given range of a given
file to some other is indicated in one of these ways:
f : n1 a Text is to be appended
after line number n1 in file
f, where f = 1, 2, or 3.
f : n1 , n2 c Text is to be
changed in the range line n1 to line
n2. If n1 = n2, the range may be abbreviated to
n1.
The original contents of the
range follows immediately after a c
indication. When the contents of two files are identical,
the
contents of the lower-numbered file is suppressed.
Under the -e option, diff3
publishes a script for the editor ed
that will incorporate into file1 all changes between file2
and
file3, i.e. the changes that normally would be flagged ====
and
====3. Option -x (-3) produces a script to incorporate only
changes flagged ==== (====3). The following command will
apply the
resulting script to ‘file1’.
(cat script; echo ’1,$p’) | ed - file1
The -E and -X are similar to -e
and -x, respectively, but treat
overlapping changes (i.e., changes that would be flagged
with ====
in the normal listing) differently. The overlapping lines
from
both files will be inserted by the edit script, bracketed by
"<<<<<<" and
">>>>>>" lines.
For example, suppose lines 7-8
are changed in both file1 and file2.
Applying the edit script generated by the command
"diff3 -E file1 file2 file3"
to file1 results in the file:
lines 1-6
of file1
<<<<<<< file1
lines 7-8
of file1
=======
lines 7-8
of file3
>>>>>>> file3
rest of file1
The -E option is used by RCS
merge(1) to insure that overlapping
changes in the merged files are preserved and brought to
someone’s
attention.
FILES
/tmp/d3?????
/usr/lib/diff3
SEE ALSO
diff(1)
BUGS
Text lines that consist of a single ‘.’ will
defeat -e.