diff3(1)


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.