|
|
1.1 root 1: .\" Copyright (c) 1990 The Regents of the University of California.
2: .\" All rights reserved.
3: .\"
4: .\" Redistribution and use in source and binary forms are permitted provided
5: .\" that: (1) source distributions retain this entire copyright notice and
6: .\" comment, and (2) distributions including binaries display the following
7: .\" acknowledgement: ``This product includes software developed by the
8: .\" University of California, Berkeley and its contributors'' in the
9: .\" documentation or other materials provided with the distribution and in
10: .\" all advertising materials mentioning features or use of this software.
11: .\" Neither the name of the University nor the names of its contributors may
12: .\" be used to endorse or promote products derived from this software without
13: .\" specific prior written permission.
14: .\" THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
15: .\" WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
16: .\" MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
17: .\"
18: .\" @(#)diff3.1 6.4 (Berkeley) 7/24/90
19: .\"
20: .Dd July 24, 1990
21: .Dt DIFF3 1
22: .Os BSD 4.3+Reno
23: .Sh NAME
24: .Nm diff3
25: .Nd 3-way differential file comparison
26: .Sh SYNOPSIS
27: .Nm diff3
28: .Op Fl exEX3
29: .Ar file1 file2 file3
30: .Sh DESCRIPTION
31: The
32: .Nm diff3
33: utility compares the contents of three different versions of a file,
34: .Ar file1 ,
35: .Ar file2
36: and
37: .Ar file3 ,
38: writing the result to the standard output.
39: The options describe different methods of merging and
40: purging
41: the separate versions into a new file.
42: .Nm Diff3
43: is used by
44: .Xr RCS 1
45: to merge specific versions or create
46: new versions.
47: .Pp
48: Options are:
49: .Tp Fl e
50: Produces output in a form suitable as an input script for the
51: .Xr ed 1
52: utility. The script may then be used to merge differences common
53: between all three files and differences specific to file1 and file3.
54: In other words, the
55: .Fl e
56: option ignores differences specific to file1 and file2, and those
57: specific to file2 and file3. It is useful for backing out changes
58: specific to file2 only.
59: .Tp Fl x
60: Produces an output script suitable for
61: .Xr ed 1
62: with changes
63: specific only to all three versions.
64: .Tp Fl 3
65: Produces an output script suitable for
66: .Xr ed 1
67: with changes
68: specific only to file3.
69: .Tp Fl E , X
70: Similar to
71: .Fl e
72: and
73: .Fl x ,
74: respectively, but treat overlapping changes (i.e., changes that would
75: be noted with ==== in the normal listing) differently. The overlapping
76: lines from both files will be inserted by the edit script, bracketed
77: by "<<<<<<" and ">>>>>>" lines.
78: .Tp
79: .Pp
80: The
81: .Fl E
82: option is used by RCS
83: .Xr merge 1
84: to insure that overlapping changes in the merged files are preserved
85: and brought to someone's attention.
86: .Pp
87: For example, suppose lines 7-8 are changed in both file1 and file2.
88: Applying the edit script generated by the command
89: .Pp
90: .Dl diff3 -E file1 file2 file3
91: .Pp
92: to file1 results in the file:
93: .Ds I
94: lines 1-6
95: of file1
96: <<<<<<< file1
97: lines 7-8
98: of file1
99: =======
100: lines 7-8
101: of file3
102: >>>>>>> file3
103: rest of file1
104: .De
105: .Pp
106: The default output of
107: .Nm diff3
108: makes notation of the differences between all files, and those differences
109: specific to each pair of files. The
110: changes are described by
111: the commands neccessary for
112: .Xr ed 1
113: to create the desired target from the different versions.
114: See
115: .Xr diff 1
116: for a description of the commands.
117: .Tw Fl
118: .Tp Li \&====
119: The lines beneath this notation are ranges of lines which are different
120: between all files.
121: .Tc Li \&====
122: .Va n
123: .Cx
124: The lines beneath this notation are ranges of lines which are exclusively
125: different in file
126: .Va n .
127: .Tp
128: .\" .Sh EXAMPLES
129: .\" .Pp
130: .\" If three files were to contain:
131: .\" .Ds I
132: .\" .Cw mooxthree mooxthree mooxthree
133: .\" .Cl file1 file2 file3
134: .\" .Cl moo moo moo
135: .\" .Cl moo too moon moon
136: .\" .Cl moo three moo moo moo moo
137: .\" .Cl tangent beam milk
138: .\" .Cl moo moo sun butter
139: .\" .Cl \tcloud beam
140: .\" .Cl \tmoo moo
141: .\" .Cl \tmoo moo
142: .\" .Cw
143: .\" .De
144: .\" .Pp
145: .\" The command line
146: .\" .Pp
147: .\" .Dl diff3 -e file1 file2 file3
148: .\" .Pp
149: .\" produces the following ed script:
150: .\" .Pp
151: .\" .Ds C
152: .\" ====1
153: .\" 1:2,4c
154: .\" moo two
155: .\" moo three
156: .\" tangent
157: .\" 2:2c
158: .\" 3:2c
159: .\" moon
160: .\" ====
161: .\" 1:5a
162: .\" 2:4,8c
163: .\" beam
164: .\" sun
165: .\" cloud
166: .\" moo moo
167: .\" moo moo
168: .\" 3:4,6c
169: .\" milk
170: .\" butter
171: .\" beam
172: .\" .De
173: .Sh FILES
174: .Dw /usr/bin/diff3
175: .Di L
176: .Dp Pa /tmp/d3?????
177: temporary files.
178: .Dp Pa /usr/bin/diff3
179: the executable.
180: .Dp
181: .Sh SEE ALSO
182: .Xr diff 1
183: .Xr ed 1
184: .Xr rcs 1
185: .Sh HISTORY
186: .Nm Diff3
187: appeared in Version 7 AT&T Unix.
188: .Sh BUGS
189: The
190: .Fl e
191: option
192: cannot catch and change
193: lines which have
194: .Sq Li \&.
195: as the first ans only character on the line.
196: The resulting script will fail on that line
197: as the
198: .Sq Li \&.
199: is an
200: .Xr ed 1
201: editing command.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.