4.3BSD-UWisc/man/cat1/diff3.1

Compare this file to the similar file:
Show the results in this format:




DIFF3(1)            UNIX Programmer's Manual             DIFF3(1)



NAME
     diff3 - 3-way differential file comparison

SYNOPSIS
     diff3 [ -exEX3 ] file1 file2 file3

DESCRIPTION
     _D_i_f_f_3 compares three versions of a file, and publishes
     disagreeing ranges of text flagged with these codes:

     ====            all three files differ

     ====1           _f_i_l_e_1 is different

     ====2           _f_i_l_e_2 is different

     ====3           _f_i_l_e_3 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 : _n_1 a        Text is to be appended after line number _n_1
                     in file _f, where _f = 1, 2, or 3.

     _f : _n_1 , _n_2 c   Text is to be changed in the range line _n_1
                     to line _n_2.  If _n_1 = _n_2, the range may be
                     abbreviated to _n_1.

     The original contents of the range follows immediately after
     a c indication.  When the contents of two files are identi-
     cal, the contents of the lower-numbered file is suppressed.

     Under the -e option, _d_i_f_f_3 publishes a script for the editor
     _e_d that will incorporate into _f_i_l_e_1 all changes between
     _f_i_l_e_2 and _f_i_l_e_3, _i._e.  the changes that normally would be
     flagged ==== and ====3.  Option -x (-3) produces a script to
     incorporate only changes flagged ==== (====3).  The follow-
     ing 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:




Printed 12/27/86         August 20, 1985                        1






DIFF3(1)            UNIX Programmer's Manual             DIFF3(1)



          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 _m_e_r_g_e(1) to insure that over-
     lapping 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.































Printed 12/27/86         August 20, 1985                        2