1User-visible changes in version 2.8.1: 2 3* Documentation fixes. 4 5User-visible changes in version 2.8: 6 7* cmp and diff now conform to POSIX 1003.1-2001 (IEEE Std 1003.1-2001) 8 if the underlying system conforms to POSIX and if the _POSIX2_VERSION 9 environment variable is set to 200112. Conformance removes support 10 for `diff -NUM', where NUM is a number. Use -C NUM or -U NUM instead. 11* cmp now supports trailing operands SKIP1 and SKIP2, like BSD cmp. 12* cmp -i or --ignore-initial now accepts SKIP1:SKIP2 option value. 13* New cmp option: -n or --bytes. 14* cmp's old -c or --print-chars option has been renamed; 15 use -b or --print-bytes instead. 16* cmp now outputs "byte" rather than "char" outside the POSIX locale. 17* cmp -l's index column width now adjusts to fit larger (or smaller) files. 18* cmp -l -s and cmp -s -l are not allowed. Use cmp -s or cmp -l instead. 19* diff uses ISO 8601 style time stamps for output times (e.g. "2001-11-23 20 16:44:36.875702460 -0800") unless in the C or POSIX locale and the 21 -c style is specified. 22* diff's -I and -F options use the regexp syntax of grep, not of Emacs. 23* diff now accepts multiple context arguments, and uses their maximum value. 24* New diff and sdiff options: 25 -E --ignore-tab-expansion 26 --strip-trailing-cr 27* New diff options: 28 --from-file=FILE, --to-file=FILE 29 --ignore-file-name-case 30 --no-ignore-file-name-case 31* New diff3 and sdiff option: 32 --diff-program=PROGRAM 33* The following diff options are still accepted, but are no longer documented. 34 They may be withdrawn in future releases. 35 -h (omit; it has no effect) 36 -H (use --speed-large-files instead) 37 -L (use --label instead) 38 -P (use --unidirectional-new-file instead) 39 --inhibit-hunk-merge (omit; it has no effect) 40* Recursive diffs now sort file names according to the LC_COLLATE locale 41 category if possible, instead of using native byte comparison. 42* Diff printf specs can now use the "0" and "'" flags. 43* The new sdiff interactive command `ed' precedes each version with a header. 44* On 64-bit hosts, files larger than 2 GB can be compared. 45* Some internationalization support has been added, but multibyte locales 46 are still not completely supported yet. 47* Some diagnostics have been reworded slightly for consistency. 48 Also, `diff -D FOO' now outputs `/* ! FOO */' instead of `/* not FOO */'. 49* The `patch' part of the manual now describes `patch' version 2.5.4. 50* Man pages are now distributed and installed. 51* There is support for DJGPP; see the 'ms' subdirectory and the files 52 m4/dos.m4 and */setmode.*. 53 54 55User-visible changes in version 2.7: 56 57* New diff option: --binary (useful only on non-POSIX hosts) 58* diff -b and -w now ignore line incompleteness; -B no longer does this. 59* cmp -c now uses locale to decide which output characters to quote. 60* Help and version messages are reorganized. 61 62 63User-visible changes in version 2.6: 64 65* New cmp, diff, diff3, sdiff option: --help 66* A new heuristic for diff greatly reduces the time needed to compare 67 large input files that contain many differences. 68* Partly as a result, GNU diff's output is not exactly the same as before. 69 Usually it is a bit smaller, but sometimes it is a bit larger. 70 71 72User-visible changes in version 2.5: 73 74* New cmp option: -v --version 75 76 77User-visible changes in version 2.4: 78 79* New cmp option: --ignore-initial=BYTES 80* New diff3 option: -T --initial-tab 81* New diff option: --line-format=FORMAT 82* New diff group format specifications: 83 <PRINTF_SPEC>[eflmnEFLMN] 84 A printf spec followed by one of the following letters 85 causes the integer corresponding to that letter to be 86 printed according to the printf specification. 87 E.g. `%5df' prints the number of the first line in the 88 group in the old file using the "%5d" format. 89 e: line number just before the group in old file; equals f - 1 90 f: first line number in group in the old file 91 l: last line number in group in the old file 92 m: line number just after the group in old file; equals l + 1 93 n: number of lines in group in the old file; equals l - f + 1 94 E, F, L, M, N: likewise, for lines in the new file 95 %(A=B?T:E) 96 If A equals B then T else E. A and B are each either a decimal 97 constant or a single letter interpreted as above. T and E are 98 arbitrary format strings. This format spec is equivalent to T if 99 A's value equals B's; otherwise it is equivalent to E. For 100 example, `%(N=0?no:%dN) line%(N=1?:s)' is equivalent to `no lines' 101 if N (the number of lines in the group in the the new file) is 0, 102 to `1 line' if N is 1, and to `%dN lines' otherwise. 103 %c'C' 104 where C is a single character, stands for the character C. C may not 105 be a backslash or an apostrophe. E.g. %c':' stands for a colon. 106 %c'\O' 107 where O is a string of 1, 2, or 3 octal digits, stands for the 108 character with octal code O. E.g. %c'\0' stands for a null character. 109* New diff line format specifications: 110 <PRINTF_SPEC>n 111 The line number, printed with <PRINTF_SPEC>. 112 E.g. `%5dn' prints the line number with a "%5d" format. 113 %c'C' 114 %c'\O' 115 The character C, or with octal code O, as above. 116* Supported <PRINTF_SPEC>s have the same meaning as with printf, but must 117 match the extended regular expression %-*[0-9]*(\.[0-9]*)?[doxX]. 118* The format spec %0 introduced in version 2.1 has been removed, since it 119 is incompatible with printf specs like %02d. To represent a null char, 120 use %c'\0' instead. 121* cmp and diff now conform to POSIX 1003.2-1992 (ISO/IEC 9945-2:1993) 122 if the underlying system conforms to POSIX: 123 - Some messages' wordings are changed in minor ways. 124 - ``White space'' is now whatever C's `isspace' says it is. 125 - When comparing directories, if `diff' finds a file that is not a regular 126 file or a directory, it reports the file's type instead of diffing it. 127 (As usual, it follows symbolic links first.) 128 - When signaled, sdiff exits with the signal's status, not with status 2. 129* Now portable to hosts where int, long, pointer, etc. are not all the same 130 size. 131* `cmp - -' now works like `diff - -'. 132 133 134User-visible changes in version 2.3: 135 136* New diff option: --horizon-lines=lines 137 138 139User-visible changes in version 2.1: 140 141* New diff options: 142 --{old,new,unchanged}-line-format='format' 143 --{old,new,unchanged,changed}-group-format='format' 144 -U 145* New diff3 option: 146 -A --show-all 147* diff3 -m now defaults to -A, not -E. 148* diff3 now takes up to three -L or --label options, not just two. 149 If just two options are given, they refer to the first two input files, 150 not the first and third input files. 151* sdiff and diff -y handle incomplete lines. 152 153 154User-visible changes in version 2.0: 155 156* Add sdiff and cmp programs. 157* Add Texinfo documentation. 158* Add configure script. 159* Improve diff performance. 160* New diff options: 161-x --exclude 162-X --exclude-from 163-P --unidirectional-new-file 164-W --width 165-y --side-by-side 166--left-column 167--sdiff-merge-assist 168--suppress-common-lines 169* diff options renamed: 170--label renamed from --file-label 171--forward-ed renamed from --reversed-ed 172--paginate renamed from --print 173--entire-new-file renamed from --entire-new-files 174--new-file renamed from --new-files 175--all-text removed 176* New diff3 options: 177-v --version 178* Add long-named equivalents for other diff3 options. 179* diff options -F (--show-function-line) and -I (--ignore-matching-lines) 180 can now be given more than once. 181 182 183 184Copyright (C) 1993, 1994, 1998, 2001, 2002 Free Software Foundation, 185Inc. 186 187This file is part of GNU Diffutils. 188 189This program is free software; you can redistribute it and/or modify 190it under the terms of the GNU General Public License as published by 191the Free Software Foundation; either version 2, or (at your option) 192any later version. 193 194This program is distributed in the hope that they will be useful, 195but WITHOUT ANY WARRANTY; without even the implied warranty of 196MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 197GNU General Public License for more details. 198 199You should have received a copy of the GNU General Public License 200along with this program; see the file COPYING. If not, write to 201the Free Software Foundation, Inc., 59 Temple Place - Suite 330, 202Boston, MA 02111-1307, USA. 203