Comparing and Merging Files - 13. Invoking diff3
13. Invoking diff3
The diff3 command compares three files and outputs descriptions
of their differences. Its arguments are as follows:
diff3 options... mine older yours
The files to compare are mine, older, and yours.
At most one of these three file names may be `-',
which tells diff3 to read the standard input for that file.
An exit status of 0 means diff3 was successful, 1 means some
conflicts were found, and 2 means trouble.
13.1 Options to diff3
Below is a summary of all of the options that GNU diff3
accepts. Multiple single letter options (unless they take an argument)
can be combined into a single command line argument.
- `-a'
- Treat all files as text and compare them line-by-line, even if they do not appear to be text. See section 1.7 Binary Files and Forcing Text Comparisons.
- `-A'
- Incorporate all changes from older to yours into mine, surrounding all conflicts with bracket lines. See section 7.2 Marking Conflicts.
- `-e'
-
Generate an
edscript that incorporates all the changes from older to yours into mine. See section 7.1 Selecting Which Changes to Incorporate. - `-E'
-
Like `-e', except bracket lines from overlapping changes' first
and third files.
See section 7.2 Marking Conflicts.
With `-e', an overlapping change looks like this:
<<<<<<< mine lines from mine ======= lines from yours >>>>>>> yours
- `--ed'
-
Generate an
edscript that incorporates all the changes from older to yours into mine. See section 7.1 Selecting Which Changes to Incorporate. - `--easy-only'
- Like `-e', except output only the nonoverlapping changes. See section 7.1 Selecting Which Changes to Incorporate.
- `-i'
-
Generate `w' and `q' commands at the end of the
edscript for System V compatibility. This option must be combined with one of the `-AeExX3' options, and may not be combined with `-m'. See section 7.5 Saving the Changed File. - `--initial-tab'
- Output a tab rather than two spaces before the text of a line in normal format. This causes the alignment of tabs in the line to look normal. See section 4.1 Preserving Tabstop Alignment.
- `-L label'
- `--label=label'
- Use the label label for the brackets output by the `-A', `-E' and `-X' options. This option may be given up to three times, one for each input file. The default labels are the names of the input files. Thus `diff3 -L X -L Y -L Z -m A B C' acts like `diff3 -m 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'. See section 7.2 Marking Conflicts.
- `-m'
- `--merge'
-
Apply the edit script to the first file and send the result to standard
output. Unlike piping the output from
diff3toed, this works even for binary files and incomplete lines. `-A' is assumed if no edit script option is specified. See section 7.3 Generating the Merged Output Directly. - `--overlap-only'
- Like `-e', except output only the overlapping changes. See section 7.1 Selecting Which Changes to Incorporate.
- `--show-all'
- Incorporate all unmerged changes from older to yours into mine, surrounding all overlapping changes with bracket lines. See section 7.2 Marking Conflicts.
- `--show-overlap'
- Like `-e', except bracket lines from overlapping changes' first and third files. See section 7.2 Marking Conflicts.
- `-T'
- Output a tab rather than two spaces before the text of a line in normal format. This causes the alignment of tabs in the line to look normal. See section 4.1 Preserving Tabstop Alignment.
- `--text'
- Treat all files as text and compare them line-by-line, even if they do not appear to be text. See section 1.7 Binary Files and Forcing Text Comparisons.
- `-v'
- `--version'
-
Output the version number of
diff3. - `-x'
- Like `-e', except output only the overlapping changes. See section 7.1 Selecting Which Changes to Incorporate.
- `-X'
- Like `-E', except output only the overlapping changes. In other words, like `-x', except bracket changes as in `-E'. See section 7.2 Marking Conflicts.
- `-3'
- Like `-e', except output only the nonoverlapping changes. See section 7.1 Selecting Which Changes to Incorporate.
Go to the first, previous, next, last section, table of contents.