mirror of
https://git.FreeBSD.org/src.git
synced 2024-12-30 12:04:07 +00:00
f8972f58e8
the same as the changes made in the repository. This is often seen by people with remote CVS trees that have applied their local patches to the master site. a 'cvs update' will show bogus conflicts. Obtained from: CVS mailing list, Stig<stig@inse.com> In diffutils 2.6 and 2.7, diff3 -A complains about identical overlapping changes. They're different from the ancestor but not from each other... Why bother? The patch below fixes this nonsense and preserves [B]ackwards compatiblity with the -B flag (also --show-bogus-conflicts). Party on... Stig
211 lines
3.7 KiB
Groff
211 lines
3.7 KiB
Groff
.TH DIFF3 1 "22sep1993" "GNU Tools" "GNU Tools"
|
|
.SH NAME
|
|
diff3 \- find differences between three files
|
|
.SH SYNOPSIS
|
|
.B diff3
|
|
[options] mine older yours
|
|
.SH DESCRIPTION
|
|
The
|
|
.I diff3
|
|
command compares three files and outputs descriptions
|
|
of their differences.
|
|
|
|
The files to compare are
|
|
.IR mine ,
|
|
.IR older ,
|
|
and
|
|
.IR yours .
|
|
At most one of these three file names may be
|
|
.BR \- ,
|
|
which tells
|
|
.I diff3
|
|
to read the standard input for that file.
|
|
.SS Options
|
|
Below is a summary of all of the options that GNU
|
|
.I diff3
|
|
accepts. Multiple single letter options (unless they take an argument)
|
|
can be combined into a single command line argument.
|
|
.TP
|
|
.B \-a
|
|
Treat all files as text and compare them line-by-line, even if they
|
|
do not appear to be text.
|
|
.TP
|
|
.B \-A
|
|
Incorporate all changes from
|
|
.I older
|
|
to
|
|
.I yours
|
|
into
|
|
.IR mine ,
|
|
surrounding all conflicts with bracket lines.
|
|
.TP
|
|
.B \-B
|
|
Old behavior of -A. Shows non-conflicts.
|
|
.TP
|
|
.B \-e
|
|
Generate an
|
|
.I ed
|
|
script that incorporates all the changes from
|
|
.I older
|
|
to
|
|
.I yours
|
|
into
|
|
.IR mine .
|
|
.TP
|
|
.B \-E
|
|
Like
|
|
.BR \-e ,
|
|
except bracket lines from overlapping changes' first
|
|
and third files.
|
|
With
|
|
.BR \-e ,
|
|
an overlapping change looks like this:
|
|
.sp
|
|
.nf
|
|
<<<<<<< \fImine\fP
|
|
lines from \fImine\fP
|
|
=======
|
|
lines from \fIyours\fP
|
|
>>>>>>> \fIyours\fP
|
|
.fi
|
|
.TP
|
|
.B \-\-ed
|
|
Generate an
|
|
.I ed
|
|
script that incorporates all the changes from
|
|
.I older
|
|
to
|
|
.I yours
|
|
into
|
|
.IR mine .
|
|
.TP
|
|
.B \-\-easy\-only
|
|
Like
|
|
.BR \-e ,
|
|
except output only the nonoverlapping changes.
|
|
.TP
|
|
.B \-i
|
|
Generate
|
|
.B w
|
|
and
|
|
.B q
|
|
commands at the end of the
|
|
.I ed
|
|
script for System V compatibility. This option must be combined with
|
|
one of the
|
|
.B \-AeExX3
|
|
options, and may not be combined with
|
|
.BR \-m .
|
|
.TP
|
|
.B \-\-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.
|
|
.TP
|
|
.BI "\-L " label
|
|
.ns
|
|
.TP
|
|
.BI \-\-label= label
|
|
Use the label
|
|
.I label
|
|
for the brackets output by the
|
|
.BR \-A ,
|
|
.B \-E
|
|
and
|
|
.B \-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
|
|
.B "diff3 \-L X \-L Y \-L Z \-m A B C"
|
|
acts like
|
|
.BR "diff3 \-m A B C ,
|
|
except that the output looks like it came from
|
|
files named
|
|
.BR X ,
|
|
.B Y
|
|
and
|
|
.B Z
|
|
rather than from files
|
|
named
|
|
.BR A ,
|
|
.B B
|
|
and
|
|
.BR C .
|
|
.TP
|
|
.B \-m
|
|
.br
|
|
.ns
|
|
.TP
|
|
.B \-\-merge
|
|
Apply the edit script to the first file and send the result to standard
|
|
output. Unlike piping the output from
|
|
.I diff3
|
|
to
|
|
.IR ed ,
|
|
this
|
|
works even for binary files and incomplete lines.
|
|
.B \-A
|
|
is assumed
|
|
if no edit script option is specified.
|
|
.TP
|
|
.B \-\-overlap\-only
|
|
Like
|
|
.BR \-e ,
|
|
except output only the overlapping changes.
|
|
.TP
|
|
.B \-\-show\-all
|
|
Incorporate all unmerged changes from
|
|
.I older
|
|
to
|
|
.I yours
|
|
into
|
|
.IR mine ,
|
|
surrounding all overlapping changes with bracket lines.
|
|
.TP
|
|
.B \-\-show\-overlap
|
|
Like
|
|
.BR \-e ,
|
|
except bracket lines from overlapping changes' first
|
|
and third files.
|
|
.TP
|
|
.B \-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.
|
|
.TP
|
|
.B \-\-text
|
|
Treat all files as text and compare them line-by-line, even if they
|
|
do not appear to be text.
|
|
.TP
|
|
.B \-v
|
|
.br
|
|
.ns
|
|
.TP
|
|
.B \-\-version
|
|
Output the version number of
|
|
.IR diff3 .
|
|
.TP
|
|
.B \-x
|
|
Like
|
|
.BR \-e ,
|
|
except output only the overlapping changes.
|
|
.TP
|
|
.B \-X
|
|
Like
|
|
.BR \-E ,
|
|
except output only the overlapping changes.
|
|
In other words, like
|
|
.BR \-x ,
|
|
except bracket changes as in
|
|
.BR \-E .
|
|
.TP
|
|
.B \-3
|
|
Like
|
|
.BR \-e ,
|
|
except output only the nonoverlapping changes.
|
|
.SH SEE ALSO
|
|
cmp(1), comm(1), diff(1), ed(1), patch(1), sdiff(1).
|
|
.SH DIAGNOSTICS
|
|
An exit status of 0 means
|
|
.I diff3
|
|
was successful, 1 means some
|
|
conflicts were found, and 2 means trouble.
|