summaryrefslogtreecommitdiffstats
path: root/usr.bin/diff3/diff3.1
diff options
context:
space:
mode:
authormillert <millert@openbsd.org>2003-07-10 16:06:07 +0000
committermillert <millert@openbsd.org>2003-07-10 16:06:07 +0000
commitd407ca27a76d17dcb9524af8c510c420d22b10e7 (patch)
treee539c5f47a58fa30c219a7b2e24ecc0504c75fcf /usr.bin/diff3/diff3.1
parent- working emulation for POPC instruction (diff)
downloadwireguard-openbsd-d407ca27a76d17dcb9524af8c510c420d22b10e7.tar.xz
wireguard-openbsd-d407ca27a76d17dcb9524af8c510c420d22b10e7.zip
A matching diff3 from 32V w/ some UCB changes. I cleaned this up a bit
(KNF and -Wall) and rewrote the shell front-end.
Diffstat (limited to 'usr.bin/diff3/diff3.1')
-rw-r--r--usr.bin/diff3/diff3.1201
1 files changed, 201 insertions, 0 deletions
diff --git a/usr.bin/diff3/diff3.1 b/usr.bin/diff3/diff3.1
new file mode 100644
index 00000000000..816e983262a
--- /dev/null
+++ b/usr.bin/diff3/diff3.1
@@ -0,0 +1,201 @@
+.\" $OpenBSD: diff3.1,v 1.1 2003/07/10 16:06:07 millert Exp $
+.\"
+.\" 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. 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
+.Sh NAME
+.Nm diff3
+.Nd 3-way differential file comparison
+.Sh SYNOPSIS
+.Nm diff3
+.Op Fl aexEX3
+.Ar file1 file2 file3
+.Sh DESCRIPTION
+The
+.Nm
+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
+is used by
+.Xr RCS 1
+to merge specific versions or create
+new versions.
+.Pp
+The options are as follows:
+.Bl -tag -width "-E, -X"
+.It Fl a
+Treat all files as ASCII.
+.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
+.Ar file1
+and
+.Ar file3 .
+In other words, the
+.Fl e
+option ignores differences specific to
+.Ar file1
+and
+.Ar file2 ,
+and those specific to
+.Ar file2
+and
+.Ar file3 .
+It is useful for backing out changes specific to
+.Ar 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
+.Ar 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 ensure 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
+.Ar file1
+and
+.Ar file2 .
+Applying the edit script generated by the command
+.Pp
+.Dl diff3 -E file1 file2 file3
+.Pp
+to
+.Ar 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
+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 ENVIRONMENT
+.Bl -tag -width TMPDIR
+.It Ev TMPDIR
+If the environment variable
+.Ev TMPDIR
+exists,
+.Nm
+will use the directory specified by
+.Ev TMPDIR
+as the temporary directory.
+.El
+.Sh FILES
+.Bl -tag -width /usr/libexec/diff3prog -compact
+.It Pa /tmp/d3a.XXXXXXXXXX
+temporary file
+.It Pa /tmp/d3b.XXXXXXXXXX
+temporary file
+.It Pa /usr/libexec/diff3
+the actual executable
+.El
+.Sh SEE ALSO
+.Xr diff 1 ,
+.Xr ed 1 ,
+.Xr merge 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 .