summaryrefslogtreecommitdiffstats
path: root/usr.bin/diff/diff3/diff3.1
diff options
context:
space:
mode:
Diffstat (limited to 'usr.bin/diff/diff3/diff3.1')
-rw-r--r--usr.bin/diff/diff3/diff3.1172
1 files changed, 172 insertions, 0 deletions
diff --git a/usr.bin/diff/diff3/diff3.1 b/usr.bin/diff/diff3/diff3.1
new file mode 100644
index 0000000..09b1d72
--- /dev/null
+++ b/usr.bin/diff/diff3/diff3.1
@@ -0,0 +1,172 @@
+.\" Copyright (c) 1990, 1993, 1994
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)diff3.1 8.2 (Berkeley) 4/18/94
+.\"
+.Dd April 18, 1994
+.Dt DIFF3 1
+.Os BSD 4.3R
+.Sh NAME
+.Nm diff3
+.Nd 3-way differential file comparison
+.Sh SYNOPSIS
+.Nm diff3
+.Op Fl exEX3
+.Ar file1 file2 file3
+.Sh DESCRIPTION
+The
+.Nm diff3
+utility compares the contents of three different versions of a file,
+.Ar file1 ,
+.Ar file2
+and
+.Ar file3 ,
+writing the result to the standard output.
+The options describe different methods of merging and
+purging
+the separate versions into a new file.
+.Nm Diff3
+is used by
+.Xr RCS 1
+to merge specific versions or create
+new versions.
+.Pp
+Options are:
+.Bl -tag -width "--E, --X"
+.It Fl e
+Produces output in a form suitable as an input script for the
+.Xr ed 1
+utility. The script may then be used to merge differences common
+between all three files and differences specific to file1 and file3.
+In other words, the
+.Fl e
+option ignores differences specific to file1 and file2, and those
+specific to file2 and file3. It is useful for backing out changes
+specific to file2 only.
+.It Fl x
+Produces an output script suitable for
+.Xr ed 1
+with changes
+specific only to all three versions.
+.It Fl 3
+Produces an output script suitable for
+.Xr ed 1
+with changes
+specific only to file3.
+.It Fl E , X
+Similar to
+.Fl e
+and
+.Fl x ,
+respectively, but treat overlapping changes (i.e., changes that would
+be noted with ==== in the normal listing) differently. The overlapping
+lines from both files will be inserted by the edit script, bracketed
+by "<<<<<<" and ">>>>>>" lines.
+.El
+.Pp
+The
+.Fl E
+option is used by
+.Tn RCS
+.Xr merge 1
+to insure that overlapping changes in the merged files are preserved
+and brought to someone's attention.
+.Pp
+For example, suppose lines 7-8 are changed in both file1 and file2.
+Applying the edit script generated by the command
+.Pp
+.Dl diff3 -E file1 file2 file3
+.Pp
+to file1 results in the file:
+.Pp
+.Bd -literal -offset indent -compact
+lines 1-6
+of file1
+<<<<<<< file1
+lines 7-8
+of file1
+=======
+lines 7-8
+of file3
+>>>>>>> file3
+rest of file1
+.Ed
+.Pp
+The default output of
+.Nm diff3
+makes notation of the differences between all files, and those differences
+specific to each pair of files. The
+changes are described by
+the commands necessary for
+.Xr ed 1
+to create the desired target from the different versions.
+See
+.Xr diff 1
+for a description of the commands.
+.Bl -tag -width "====="
+.It Li \&====
+The lines beneath this notation are ranges of lines which are different
+between all files.
+.It \&==== Ns Va n
+The lines beneath this notation are ranges of lines which are exclusively
+different in file
+.Va n .
+.El
+.Sh FILES
+.Bl -tag -width /usr/bin/diff3 -compact
+.It Pa /tmp/d3?????
+temporary files.
+.It Pa /usr/bin/diff3
+the executable.
+.El
+.Sh SEE ALSO
+.Xr diff 1
+.Xr ed 1
+.Xr rcs 1
+.Sh BUGS
+The
+.Fl e
+option
+cannot catch and change
+lines which have
+.Ql \&.
+as the first and only character on the line.
+The resulting script will fail on that line
+as
+.Ql \&.
+is an
+.Xr ed 1
+editing command.
+.Sh HISTORY
+A
+.Nm
+command appeared in
+.At v7 .
OpenPOWER on IntegriCloud