Blame


1 cfa37a7b 2004-04-10 devnull .TH DIFF 1
2 cfa37a7b 2004-04-10 devnull .SH NAME
3 cfa37a7b 2004-04-10 devnull diff \- differential file comparator
4 cfa37a7b 2004-04-10 devnull .SH SYNOPSIS
5 cfa37a7b 2004-04-10 devnull .B diff
6 cfa37a7b 2004-04-10 devnull [
7 ac1d1197 2005-01-30 devnull .B -acefmnbwr
8 cfa37a7b 2004-04-10 devnull ] file1 ... file2
9 cfa37a7b 2004-04-10 devnull .SH DESCRIPTION
10 cfa37a7b 2004-04-10 devnull .I Diff
11 cfa37a7b 2004-04-10 devnull tells what lines must be changed in two files to bring them
12 cfa37a7b 2004-04-10 devnull into agreement.
13 cfa37a7b 2004-04-10 devnull If one file
14 cfa37a7b 2004-04-10 devnull is a directory,
15 cfa37a7b 2004-04-10 devnull then a file in that directory with basename the same as that of
16 cfa37a7b 2004-04-10 devnull the other file is used.
17 cfa37a7b 2004-04-10 devnull If both files are directories, similarly named files in the
18 cfa37a7b 2004-04-10 devnull two directories are compared by the method of
19 cfa37a7b 2004-04-10 devnull .I diff
20 cfa37a7b 2004-04-10 devnull for text
21 cfa37a7b 2004-04-10 devnull files and
22 d32deab1 2020-08-16 rsc .MR cmp (1)
23 cfa37a7b 2004-04-10 devnull otherwise.
24 cfa37a7b 2004-04-10 devnull If more than two file names are given, then each argument is compared
25 cfa37a7b 2004-04-10 devnull to the last argument as above.
26 cfa37a7b 2004-04-10 devnull The
27 cfa37a7b 2004-04-10 devnull .B -r
28 cfa37a7b 2004-04-10 devnull option causes
29 cfa37a7b 2004-04-10 devnull .I diff
30 cfa37a7b 2004-04-10 devnull to process similarly named subdirectories recursively.
31 cfa37a7b 2004-04-10 devnull When processing more than one file,
32 cfa37a7b 2004-04-10 devnull .I diff
33 cfa37a7b 2004-04-10 devnull prefixes file differences with a single line
34 cfa37a7b 2004-04-10 devnull listing the two differing files, in the form of
35 cfa37a7b 2004-04-10 devnull a
36 cfa37a7b 2004-04-10 devnull .I diff
37 cfa37a7b 2004-04-10 devnull command line.
38 cfa37a7b 2004-04-10 devnull The
39 cfa37a7b 2004-04-10 devnull .B -m
40 cfa37a7b 2004-04-10 devnull flag causes this behavior even when processing single files.
41 cfa37a7b 2004-04-10 devnull .PP
42 cfa37a7b 2004-04-10 devnull The normal output contains lines of these forms:
43 cfa37a7b 2004-04-10 devnull .IP "" 5
44 cfa37a7b 2004-04-10 devnull .I n1
45 cfa37a7b 2004-04-10 devnull .B a
46 cfa37a7b 2004-04-10 devnull .I n3,n4
47 cfa37a7b 2004-04-10 devnull .br
48 cfa37a7b 2004-04-10 devnull .I n1,n2
49 cfa37a7b 2004-04-10 devnull .B d
50 cfa37a7b 2004-04-10 devnull .I n3
51 cfa37a7b 2004-04-10 devnull .br
52 cfa37a7b 2004-04-10 devnull .I n1,n2
53 cfa37a7b 2004-04-10 devnull .B c
54 cfa37a7b 2004-04-10 devnull .I n3,n4
55 cfa37a7b 2004-04-10 devnull .PP
56 cfa37a7b 2004-04-10 devnull These lines resemble
57 cfa37a7b 2004-04-10 devnull .I ed
58 cfa37a7b 2004-04-10 devnull commands to convert
59 cfa37a7b 2004-04-10 devnull .I file1
60 cfa37a7b 2004-04-10 devnull into
61 cfa37a7b 2004-04-10 devnull .IR file2 .
62 cfa37a7b 2004-04-10 devnull The numbers after the letters pertain to
63 cfa37a7b 2004-04-10 devnull .IR file2 .
64 cfa37a7b 2004-04-10 devnull In fact, by exchanging `a' for `d' and reading backward
65 cfa37a7b 2004-04-10 devnull one may ascertain equally how to convert
66 cfa37a7b 2004-04-10 devnull .I file2
67 cfa37a7b 2004-04-10 devnull into
68 cfa37a7b 2004-04-10 devnull .IR file1 .
69 cfa37a7b 2004-04-10 devnull As in
70 cfa37a7b 2004-04-10 devnull .IR ed ,
71 cfa37a7b 2004-04-10 devnull identical pairs where
72 cfa37a7b 2004-04-10 devnull .I n1
73 cfa37a7b 2004-04-10 devnull =
74 cfa37a7b 2004-04-10 devnull .I n2
75 cfa37a7b 2004-04-10 devnull or
76 cfa37a7b 2004-04-10 devnull .I n3
77 cfa37a7b 2004-04-10 devnull =
78 cfa37a7b 2004-04-10 devnull .I n4
79 cfa37a7b 2004-04-10 devnull are abbreviated as a single number.
80 cfa37a7b 2004-04-10 devnull .PP
81 cfa37a7b 2004-04-10 devnull Following each of these lines come all the lines that are
82 cfa37a7b 2004-04-10 devnull affected in the first file flagged by `<',
83 cfa37a7b 2004-04-10 devnull then all the lines that are affected in the second file
84 cfa37a7b 2004-04-10 devnull flagged by `>'.
85 cfa37a7b 2004-04-10 devnull .PP
86 cfa37a7b 2004-04-10 devnull The
87 cfa37a7b 2004-04-10 devnull .B -b
88 cfa37a7b 2004-04-10 devnull option causes
89 cfa37a7b 2004-04-10 devnull trailing blanks (spaces and tabs) to be ignored
90 cfa37a7b 2004-04-10 devnull and other strings of blanks to compare equal.
91 cfa37a7b 2004-04-10 devnull The
92 cfa37a7b 2004-04-10 devnull .B -w
93 cfa37a7b 2004-04-10 devnull option causes all white-space to be removed from input lines
94 cfa37a7b 2004-04-10 devnull before applying the difference algorithm.
95 cfa37a7b 2004-04-10 devnull .PP
96 cfa37a7b 2004-04-10 devnull The
97 cfa37a7b 2004-04-10 devnull .B -n
98 cfa37a7b 2004-04-10 devnull option prefixes each range with
99 cfa37a7b 2004-04-10 devnull .IB file : \fR
100 cfa37a7b 2004-04-10 devnull and inserts a space around the
101 cfa37a7b 2004-04-10 devnull .BR a ,
102 cfa37a7b 2004-04-10 devnull .BR c ,
103 cfa37a7b 2004-04-10 devnull and
104 cfa37a7b 2004-04-10 devnull .B d
105 cfa37a7b 2004-04-10 devnull verbs.
106 cfa37a7b 2004-04-10 devnull The
107 cfa37a7b 2004-04-10 devnull .B -e
108 cfa37a7b 2004-04-10 devnull option produces a script of
109 cfa37a7b 2004-04-10 devnull .I "a, c"
110 cfa37a7b 2004-04-10 devnull and
111 cfa37a7b 2004-04-10 devnull .I d
112 cfa37a7b 2004-04-10 devnull commands for the editor
113 cfa37a7b 2004-04-10 devnull .IR ed ,
114 cfa37a7b 2004-04-10 devnull which will recreate
115 cfa37a7b 2004-04-10 devnull .I file2
116 cfa37a7b 2004-04-10 devnull from
117 cfa37a7b 2004-04-10 devnull .IR file1 .
118 cfa37a7b 2004-04-10 devnull The
119 cfa37a7b 2004-04-10 devnull .B -f
120 cfa37a7b 2004-04-10 devnull option produces a similar script,
121 cfa37a7b 2004-04-10 devnull not useful with
122 cfa37a7b 2004-04-10 devnull .IR ed ,
123 cfa37a7b 2004-04-10 devnull in the opposite order. It may, however, be
124 cfa37a7b 2004-04-10 devnull useful as input to a stream-oriented post-processor.
125 cfa37a7b 2004-04-10 devnull .PP
126 4ac5f249 2005-01-26 devnull The
127 4ac5f249 2005-01-26 devnull .B -c
128 4ac5f249 2005-01-26 devnull option includes three lines of context around each
129 4ac5f249 2005-01-26 devnull change, merging changes whose contexts overlap.
130 ac1d1197 2005-01-30 devnull The
131 ac1d1197 2005-01-30 devnull .B -a
132 ac1d1197 2005-01-30 devnull flag displays the entire file as context.
133 4ac5f249 2005-01-26 devnull .PP
134 cfa37a7b 2004-04-10 devnull Except in rare circumstances,
135 cfa37a7b 2004-04-10 devnull .I diff
136 cfa37a7b 2004-04-10 devnull finds a smallest sufficient set of file
137 cfa37a7b 2004-04-10 devnull differences.
138 cfa37a7b 2004-04-10 devnull .SH FILES
139 cfa37a7b 2004-04-10 devnull .B /tmp/diff[12]
140 cfa37a7b 2004-04-10 devnull .SH SOURCE
141 c3674de4 2005-01-11 devnull .B \*9/src/cmd/diff
142 cfa37a7b 2004-04-10 devnull .SH "SEE ALSO"
143 d32deab1 2020-08-16 rsc .MR cmp (1) ,
144 d32deab1 2020-08-16 rsc .MR comm (1) ,
145 d32deab1 2020-08-16 rsc .MR ed (1)
146 cfa37a7b 2004-04-10 devnull .SH DIAGNOSTICS
147 cfa37a7b 2004-04-10 devnull Exit status is the empty string
148 cfa37a7b 2004-04-10 devnull for no differences,
149 cfa37a7b 2004-04-10 devnull .L some
150 cfa37a7b 2004-04-10 devnull for some,
151 cfa37a7b 2004-04-10 devnull and
152 cfa37a7b 2004-04-10 devnull .L error
153 cfa37a7b 2004-04-10 devnull for trouble.
154 cfa37a7b 2004-04-10 devnull .SH BUGS
155 cfa37a7b 2004-04-10 devnull Editing scripts produced under the
156 cfa37a7b 2004-04-10 devnull .BR -e " or"
157 cfa37a7b 2004-04-10 devnull .BR -f " option are naive about"
158 cfa37a7b 2004-04-10 devnull creating lines consisting of a single `\fB.\fR'.
159 c8b6342d 2005-01-13 devnull .PP
160 cfa37a7b 2004-04-10 devnull When running
161 cfa37a7b 2004-04-10 devnull .I diff
162 cfa37a7b 2004-04-10 devnull on directories, the notion of what is a text
163 cfa37a7b 2004-04-10 devnull file is open to debate.