DIFF3(1) User Commands DIFF3(1)


NAME


diff3 - 3-way differential file comparison

SYNOPSIS


diff3 [-exEX3] filename1 filename2 filename3


DESCRIPTION


diff3 compares three versions of a file. It publishes disagreeing ranges
of text flagged with the following codes:

====
all three files differ


====1
filename1 is different


====2
filename2 is different


====3
filename3 is different


The type of change suffered in converting a given range of a given file
to some other is indicated in one of the following 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 can 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.


The following command applies the resulting script to filename1.

(cat script; echo a'1,$pa') | ed - filename1


OPTIONS


The following options are supported:

-e
Produce a script for the ed(1) editor that incorporates into
filename1 all changes between filename2 and filename3 (that is,
the changes that normally would be flagged ==== and ====3).

Text lines that consist of a single dot (. defeat the -e option.


-E
Produce a script that incorporates all changes between filename2
and filename3, but treat overlapping changes (that is, changes
that would be flagged with ==== in the normal listing)
differently. The overlapping lines from both files are inserted by
the edit script, bracketed by <<<<<< and >>>>>> lines.


-x
Produce a script to incorporate only changes flagged ====.


-X
Produce a script that incorporates only changes flagged ====, but
treat these changes in the manner of the -E option.


-3
Produce a script to incorporate only changes flagged ====3.


USAGE


See largefile(7) for the description of the behavior of diff3 when
encountering files greater than or equal to 2 Gbyte ( 2^31 bytes).

FILES


/tmp/d3*


/usr/lib/diff3prog


EXIT STATUS


The following exit values are returned:

0
Successful completion.


1
An error occurred. A difference was found or there was a fatal
error.


>1
A fatal error occurred.


Return values do not work the same as diff(1) or other vendor's versions
of diff3.

ATTRIBUTES


See attributes(7) for descriptions of the following attributes:


+---------------+-----------------+
|ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+---------------+-----------------+
|CSI | Enabled |
+---------------+-----------------+

SEE ALSO


diff(1), attributes(7), largefile(7)

NOTES


Files longer than 64 Kbytes do not work.


October 22, 2014 DIFF3(1)