2 |
- |
1 |
User-visible changes in version 2.7:
|
|
|
2 |
|
|
|
3 |
* New diff option: --binary (useful only on non-Posix hosts)
|
|
|
4 |
* diff -b and -w now ignore line incompleteness; -B no longer does this.
|
|
|
5 |
* cmp -c now uses locale to decide which output characters to quote.
|
|
|
6 |
* Help and version messages are reorganized.
|
|
|
7 |
|
|
|
8 |
|
|
|
9 |
User-visible changes in version 2.6:
|
|
|
10 |
|
|
|
11 |
* New cmp, diff, diff3, sdiff option: --help
|
|
|
12 |
* A new heuristic for diff greatly reduces the time needed to compare
|
|
|
13 |
large input files that contain many differences.
|
|
|
14 |
* Partly as a result, GNU diff's output is not exactly the same as before.
|
|
|
15 |
Usually it is a bit smaller, but sometimes it is a bit larger.
|
|
|
16 |
|
|
|
17 |
|
|
|
18 |
User-visible changes in version 2.5:
|
|
|
19 |
|
|
|
20 |
* New cmp option: -v --version
|
|
|
21 |
|
|
|
22 |
|
|
|
23 |
User-visible changes in version 2.4:
|
|
|
24 |
|
|
|
25 |
* New cmp option: --ignore-initial=BYTES
|
|
|
26 |
* New diff3 option: -T --initial-tab
|
|
|
27 |
* New diff option: --line-format=FORMAT
|
|
|
28 |
* New diff group format specifications:
|
|
|
29 |
<PRINTF_SPEC>[eflmnEFLMN]
|
|
|
30 |
A printf spec followed by one of the following letters
|
|
|
31 |
causes the integer corresponding to that letter to be
|
|
|
32 |
printed according to the printf specification.
|
|
|
33 |
E.g. `%5df' prints the number of the first line in the
|
|
|
34 |
group in the old file using the "%5d" format.
|
|
|
35 |
e: line number just before the group in old file; equals f - 1
|
|
|
36 |
f: first line number in group in the old file
|
|
|
37 |
l: last line number in group in the old file
|
|
|
38 |
m: line number just after the group in old file; equals l + 1
|
|
|
39 |
n: number of lines in group in the old file; equals l - f + 1
|
|
|
40 |
E, F, L, M, N: likewise, for lines in the new file
|
|
|
41 |
%(A=B?T:E)
|
|
|
42 |
If A equals B then T else E. A and B are each either a decimal
|
|
|
43 |
constant or a single letter interpreted as above. T and E are
|
|
|
44 |
arbitrary format strings. This format spec is equivalent to T if
|
|
|
45 |
A's value equals B's; otherwise it is equivalent to E. For
|
|
|
46 |
example, `%(N=0?no:%dN) line%(N=1?:s)' is equivalent to `no lines'
|
|
|
47 |
if N (the number of lines in the group in the the new file) is 0,
|
|
|
48 |
to `1 line' if N is 1, and to `%dN lines' otherwise.
|
|
|
49 |
%c'C'
|
|
|
50 |
where C is a single character, stands for the character C. C may not
|
|
|
51 |
be a backslash or an apostrophe. E.g. %c':' stands for a colon.
|
|
|
52 |
%c'\O'
|
|
|
53 |
where O is a string of 1, 2, or 3 octal digits, stands for the
|
|
|
54 |
character with octal code O. E.g. %c'\0' stands for a null character.
|
|
|
55 |
* New diff line format specifications:
|
|
|
56 |
<PRINTF_SPEC>n
|
|
|
57 |
The line number, printed with <PRINTF_SPEC>.
|
|
|
58 |
E.g. `%5dn' prints the line number with a "%5d" format.
|
|
|
59 |
%c'C'
|
|
|
60 |
%c'\O'
|
|
|
61 |
The character C, or with octal code O, as above.
|
|
|
62 |
* Supported <PRINTF_SPEC>s have the same meaning as with printf, but must
|
|
|
63 |
match the extended regular expression %-*[0-9]*(\.[0-9]*)?[doxX].
|
|
|
64 |
* The format spec %0 introduced in version 2.1 has been removed, since it
|
|
|
65 |
is incompatible with printf specs like %02d. To represent a null char,
|
|
|
66 |
use %c'\0' instead.
|
|
|
67 |
* cmp and diff now conform to Posix.2 (ISO/IEC 9945-2:1993)
|
|
|
68 |
if the underlying system conforms to Posix:
|
|
|
69 |
- Some messages' wordings are changed in minor ways.
|
|
|
70 |
- ``White space'' is now whatever C's `isspace' says it is.
|
|
|
71 |
- When comparing directories, if `diff' finds a file that is not a regular
|
|
|
72 |
file or a directory, it reports the file's type instead of diffing it.
|
|
|
73 |
(As usual, it follows symbolic links first.)
|
|
|
74 |
- When signaled, sdiff exits with the signal's status, not with status 2.
|
|
|
75 |
* Now portable to hosts where int, long, pointer, etc. are not all the same
|
|
|
76 |
size.
|
|
|
77 |
* `cmp - -' now works like `diff - -'.
|
|
|
78 |
|
|
|
79 |
|
|
|
80 |
User-visible changes in version 2.3:
|
|
|
81 |
|
|
|
82 |
* New diff option: --horizon-lines=lines
|
|
|
83 |
|
|
|
84 |
|
|
|
85 |
User-visible changes in version 2.1:
|
|
|
86 |
|
|
|
87 |
* New diff options:
|
|
|
88 |
--{old,new,unchanged}-line-format='format'
|
|
|
89 |
--{old,new,unchanged,changed}-group-format='format'
|
|
|
90 |
-U
|
|
|
91 |
* New diff3 option:
|
|
|
92 |
-A --show-all
|
|
|
93 |
* diff3 -m now defaults to -A, not -E.
|
|
|
94 |
* diff3 now takes up to three -L or --label options, not just two.
|
|
|
95 |
If just two options are given, they refer to the first two input files,
|
|
|
96 |
not the first and third input files.
|
|
|
97 |
* sdiff and diff -y handle incomplete lines.
|
|
|
98 |
|
|
|
99 |
|
|
|
100 |
User-visible changes in version 2.0:
|
|
|
101 |
|
|
|
102 |
* Add sdiff and cmp programs.
|
|
|
103 |
* Add Texinfo documentation.
|
|
|
104 |
* Add configure script.
|
|
|
105 |
* Improve diff performance.
|
|
|
106 |
* New diff options:
|
|
|
107 |
-x --exclude
|
|
|
108 |
-X --exclude-from
|
|
|
109 |
-P --unidirectional-new-file
|
|
|
110 |
-W --width
|
|
|
111 |
-y --side-by-side
|
|
|
112 |
--left-column
|
|
|
113 |
--sdiff-merge-assist
|
|
|
114 |
--suppress-common-lines
|
|
|
115 |
* diff options renamed:
|
|
|
116 |
--label renamed from --file-label
|
|
|
117 |
--forward-ed renamed from --reversed-ed
|
|
|
118 |
--paginate renamed from --print
|
|
|
119 |
--entire-new-file renamed from --entire-new-files
|
|
|
120 |
--new-file renamed from --new-files
|
|
|
121 |
--all-text removed
|
|
|
122 |
* New diff3 options:
|
|
|
123 |
-v --version
|
|
|
124 |
* Add long-named equivalents for other diff3 options.
|
|
|
125 |
* diff options -F (--show-function-line) and -I (--ignore-matching-lines)
|
|
|
126 |
can now be given more than once.
|