DIFF3(1) UNIX Programmer's Manual DIFF3(1) NNAAMMEE diff3 - 3-way differential file comparison SSYYNNOOPPSSIISS ddiiffff33 [ --eexxEEXX33 ] file1 file2 file3 DDEESSCCRRIIPPTTIIOONN _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 aa Text is to be appended after line number _n_1 in file _f, where _f = 1, 2, or 3. _f :: _n_1 ,, _n_2 cc 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 cc indication. When the contents of two files are identi- cal, the contents of the lower-numbered file is suppressed. Under the --ee 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 --xx (--33) 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 --EE and --XX are similar to --ee and --xx, 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 7/9/88 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 --EE 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. FFIILLEESS /tmp/d3????? /usr/lib/diff3 SSEEEE AALLSSOO diff(1) BBUUGGSS Text lines that consist of a single `.' will defeat --ee.. Printed 7/9/88 August 20, 1985 2