GNU Info

Info Node: (diff.info)Marking Conflicts

(diff.info)Marking Conflicts


Next: Bypassing ed Prev: Which Changes Up: diff3 Merging
Enter node , (file) or (file)node

Marking Conflicts
=================

   `diff3' can mark conflicts in the merged output by bracketing them
with special marker lines.  A conflict that comes from two files A and
B is marked as follows:

     <<<<<<< A
     lines from A
     =======
     lines from B
     >>>>>>> B

   A conflict that comes from three files A, B and C is marked as
follows:

     <<<<<<< A
     lines from A
     ||||||| B
     lines from B
     =======
     lines from C
     >>>>>>> C

   The `-A' or `--show-all' option acts like the `-e' option, except
that it brackets conflicts, and it outputs all changes from OLDER to
YOURS, not just the unmerged changes.  Thus, given the sample input
files (Note: Sample diff3 Input), `diff3 -A lao tzu tao' puts
brackets around the conflict where only `tzu' differs:

     <<<<<<< tzu
     =======
     The Way that can be told of is not the eternal Way;
     The name that can be named is not the eternal name.
     >>>>>>> tao

   And it outputs the three-way conflict as follows:

     <<<<<<< lao
     ||||||| tzu
     They both may be called deep and profound.
     Deeper and more profound,
     The door of all subtleties!
     =======
     
       -- The Way of Lao-Tzu, tr. Wing-tsit Chan
     >>>>>>> tao

   The `-E' or `--show-overlap' option outputs less information than
the `-A' or `--show-all' option, because it outputs only unmerged
changes, and it never outputs the contents of the second file.  Thus
the `-E' option acts like the `-e' option, except that it brackets the
first and third files from three-way overlapping changes.  Similarly,
`-X' acts like `-x', except it brackets all its (necessarily
overlapping) changes.  For example, for the three-way overlapping
change above, the `-E' and `-X' options output the following:

     <<<<<<< lao
     =======
     
       -- The Way of Lao-Tzu, tr. Wing-tsit Chan
     >>>>>>> tao

   If you are comparing files that have meaningless or uninformative
names, you can use the `-L LABEL' or `--label=LABEL' option to show
alternate names in the `<<<<<<<', `|||||||' and `>>>>>>>' brackets.
This option can be given up to three times, once for each input file.
Thus `diff3 -A -L X -L Y -L Z A B C' acts like `diff3 -A A B C', except
that the output looks like it came from files named `X', `Y' and `Z'
rather than from files named `A', `B' and `C'.


automatically generated by info2www version 1.2.2.9