8.1 Selecting Which Changes to Incorporate

You can select all unmerged changes from older to yours for merging into mine with the --ed (-e) option. You can select only the nonoverlapping unmerged changes with --easy-only (-3), and you can select only the overlapping changes with --overlap-only (-x).

The -e, -3 and -x options select only unmerged changes, i.e. changes where mine and yours differ; they ignore changes from older to yours where mine and yours are identical, because they assume that such changes have already been merged. If this assumption is not a safe one, you can use the --show-all (-A) option (see Marking Conflicts).

Here is the output of the command diff3 with each of these three options (see A Third Sample Input File, for the complete contents of the files). Notice that -e outputs the union of the disjoint sets of changes output by -3 and -x.

Output of ‘diff3 -e lao tzu tao’:

11a

  -- The Way of Lao-Tzu, tr. Wing-tsit Chan
.
8c
  so we may see their result.
.

Output of ‘diff3 -3 lao tzu tao’:

8c
  so we may see their result.
.

Output of ‘diff3 -x lao tzu tao’:

11a

  -- The Way of Lao-Tzu, tr. Wing-tsit Chan
.