16 ==== all three files differ
16 ====1 file1 " is different"
16 ====2 file2 " is different"
16 ====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:
16 f " : " n1 " a" Text is to be appended after line number n1 in file f, where f = 1, 2, or 3.
16 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\') \(bv 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.