DIFF3(1) User Commands DIFF3(1)

diff3 - 3-way differential file comparison

diff3 [-exEX3] file1 file2 file3

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:

Text is to be appended after line number n1 in file f, where f = 1, 2, or 3.
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

/tmp/d3?????
/usr/5lib/diff3prog

diff(1)

Text lines that consist of a single `.' will defeat -e.

10/11/03 Heirloom Toolchest