118fd37a7SXin LIVersion 2.8.7 contains no user-visible changes. 218fd37a7SXin LI 318fd37a7SXin LIUser-visible changes in version 2.8.6: 418fd37a7SXin LI 518fd37a7SXin LI* New diff3 option --strip-trailing-cr. 618fd37a7SXin LI 718fd37a7SXin LI* With -N and -P, inaccessible empty regular files (the kind of files 818fd37a7SXin LI that 'patch' creates to indicate nonexistent backups) are now 918fd37a7SXin LI treated as nonexistent when they are in the 'backup' file position. 1018fd37a7SXin LI 1118fd37a7SXin LI* If multiple SKIP values are given to cmp, e.g., `cmp -i 10 -i 20', 1218fd37a7SXin LI cmp now uses the maximal value instead of the last one. 1318fd37a7SXin LI 1418fd37a7SXin LI* diff now omits the ".000000000" on hosts that do not support 1518fd37a7SXin LI fractional time stamps. 1618fd37a7SXin LI 1718fd37a7SXin LIVersion 2.8.5 was not publicly released. 1818fd37a7SXin LI 1918fd37a7SXin LIUser-visible changes in version 2.8.4: 2018fd37a7SXin LI 2118fd37a7SXin LI* Diff now simply prints "Files A and B differ" instead of "Binary 2218fd37a7SXin LI files A and B differ". The message is output if either A or B 2318fd37a7SXin LI appears to be a binary file, and the old wording was misleading 2418fd37a7SXin LI because it implied that both files are binary, which is not 2518fd37a7SXin LI necessarily the case. 2618fd37a7SXin LI 2718fd37a7SXin LIUser-visible changes in version 2.8.3: 2818fd37a7SXin LI 2918fd37a7SXin LI* New locale: en_US. 3018fd37a7SXin LI 3118fd37a7SXin LIUser-visible changes in version 2.8.2: 3218fd37a7SXin LI 3318fd37a7SXin LI* New diff and sdiff option: 3418fd37a7SXin LI --tabsize=COLUMNS 3518fd37a7SXin LI* If --ignore-space-change or --ignore-all-space is also specified, 3618fd37a7SXin LI --ignore-blank-lines now considers lines to be empty if they contain 3718fd37a7SXin LI only white space. 3818fd37a7SXin LI* More platforms now handle multibyte characters correctly when 3918fd37a7SXin LI excluding files by name (diff -x and -X). 4018fd37a7SXin LI* New locales: hu, pt_BR. 4118fd37a7SXin LI 4218fd37a7SXin LIUser-visible changes in version 2.8.1: 4318fd37a7SXin LI 4418fd37a7SXin LI* Documentation fixes. 4518fd37a7SXin LI 4618fd37a7SXin LIUser-visible changes in version 2.8: 4718fd37a7SXin LI 4818fd37a7SXin LI* cmp and diff now conform to POSIX 1003.1-2001 (IEEE Std 1003.1-2001) 4918fd37a7SXin LI if the underlying system conforms to POSIX and if the _POSIX2_VERSION 5018fd37a7SXin LI environment variable is set to 200112. Conformance removes support 5118fd37a7SXin LI for `diff -NUM', where NUM is a number. Use -C NUM or -U NUM instead. 5218fd37a7SXin LI* cmp now supports trailing operands SKIP1 and SKIP2, like BSD cmp. 5318fd37a7SXin LI* cmp -i or --ignore-initial now accepts SKIP1:SKIP2 option value. 5418fd37a7SXin LI* New cmp option: -n or --bytes. 5518fd37a7SXin LI* cmp's old -c or --print-chars option has been renamed; 5618fd37a7SXin LI use -b or --print-bytes instead. 5718fd37a7SXin LI* cmp now outputs "byte" rather than "char" outside the POSIX locale. 5818fd37a7SXin LI* cmp -l's index column width now adjusts to fit larger (or smaller) files. 5918fd37a7SXin LI* cmp -l -s and cmp -s -l are not allowed. Use cmp -s or cmp -l instead. 6018fd37a7SXin LI* diff uses ISO 8601 style time stamps for output times (e.g. "2001-11-23 6118fd37a7SXin LI 16:44:36.875702460 -0800") unless in the C or POSIX locale and the 6218fd37a7SXin LI -c style is specified. 6318fd37a7SXin LI* diff's -I and -F options use the regexp syntax of grep, not of Emacs. 6418fd37a7SXin LI* diff now accepts multiple context arguments, and uses their maximum value. 6518fd37a7SXin LI* New diff and sdiff options: 6618fd37a7SXin LI -E --ignore-tab-expansion 6718fd37a7SXin LI --strip-trailing-cr 6818fd37a7SXin LI* New diff options: 6918fd37a7SXin LI --from-file=FILE, --to-file=FILE 7018fd37a7SXin LI --ignore-file-name-case 7118fd37a7SXin LI --no-ignore-file-name-case 7218fd37a7SXin LI* New diff3 and sdiff option: 7318fd37a7SXin LI --diff-program=PROGRAM 7418fd37a7SXin LI* The following diff options are still accepted, but are no longer documented. 7518fd37a7SXin LI They may be withdrawn in future releases. 7618fd37a7SXin LI -h (omit; it has no effect) 7718fd37a7SXin LI -H (use --speed-large-files instead) 7818fd37a7SXin LI -L (use --label instead) 7918fd37a7SXin LI -P (use --unidirectional-new-file instead) 8018fd37a7SXin LI --inhibit-hunk-merge (omit; it has no effect) 8118fd37a7SXin LI* Recursive diffs now sort file names according to the LC_COLLATE locale 8218fd37a7SXin LI category if possible, instead of using native byte comparison. 8318fd37a7SXin LI* Recursive diffs now detect and report directory loops. 8418fd37a7SXin LI* Diff printf specs can now use the "0" and "'" flags. 8518fd37a7SXin LI* The new sdiff interactive command `ed' precedes each version with a header. 8618fd37a7SXin LI* On 64-bit hosts, files larger than 2 GB can be compared. 8718fd37a7SXin LI* Some internationalization support has been added, but multibyte locales 8818fd37a7SXin LI are still not completely supported yet. 8918fd37a7SXin LI* Some diagnostics have been reworded slightly for consistency. 9018fd37a7SXin LI Also, `diff -D FOO' now outputs `/* ! FOO */' instead of `/* not FOO */'. 9118fd37a7SXin LI* The `patch' part of the manual now describes `patch' version 2.5.4. 9218fd37a7SXin LI* Man pages are now distributed and installed. 9318fd37a7SXin LI* There is support for DJGPP; see the 'ms' subdirectory and the files 9418fd37a7SXin LI m4/dos.m4 and */setmode.*. 9518fd37a7SXin LI 9618fd37a7SXin LI 97f5e00e24SAndrey A. ChernovUser-visible changes in version 2.7: 98f5e00e24SAndrey A. Chernov 9918fd37a7SXin LI* New diff option: --binary (useful only on non-POSIX hosts) 100f5e00e24SAndrey A. Chernov* diff -b and -w now ignore line incompleteness; -B no longer does this. 101f5e00e24SAndrey A. Chernov* cmp -c now uses locale to decide which output characters to quote. 102f5e00e24SAndrey A. Chernov* Help and version messages are reorganized. 103f5e00e24SAndrey A. Chernov 104f5e00e24SAndrey A. Chernov 105f5e00e24SAndrey A. ChernovUser-visible changes in version 2.6: 106f5e00e24SAndrey A. Chernov 107f5e00e24SAndrey A. Chernov* New cmp, diff, diff3, sdiff option: --help 108f5e00e24SAndrey A. Chernov* A new heuristic for diff greatly reduces the time needed to compare 109f5e00e24SAndrey A. Chernov large input files that contain many differences. 110f5e00e24SAndrey A. Chernov* Partly as a result, GNU diff's output is not exactly the same as before. 111f5e00e24SAndrey A. Chernov Usually it is a bit smaller, but sometimes it is a bit larger. 112f5e00e24SAndrey A. Chernov 113f5e00e24SAndrey A. Chernov 114f5e00e24SAndrey A. ChernovUser-visible changes in version 2.5: 115f5e00e24SAndrey A. Chernov 116f5e00e24SAndrey A. Chernov* New cmp option: -v --version 117f5e00e24SAndrey A. Chernov 118f5e00e24SAndrey A. Chernov 119f5e00e24SAndrey A. ChernovUser-visible changes in version 2.4: 120f5e00e24SAndrey A. Chernov 121f5e00e24SAndrey A. Chernov* New cmp option: --ignore-initial=BYTES 122f5e00e24SAndrey A. Chernov* New diff3 option: -T --initial-tab 123f5e00e24SAndrey A. Chernov* New diff option: --line-format=FORMAT 124f5e00e24SAndrey A. Chernov* New diff group format specifications: 125f5e00e24SAndrey A. Chernov <PRINTF_SPEC>[eflmnEFLMN] 126f5e00e24SAndrey A. Chernov A printf spec followed by one of the following letters 127f5e00e24SAndrey A. Chernov causes the integer corresponding to that letter to be 128f5e00e24SAndrey A. Chernov printed according to the printf specification. 129f5e00e24SAndrey A. Chernov E.g. `%5df' prints the number of the first line in the 130f5e00e24SAndrey A. Chernov group in the old file using the "%5d" format. 131f5e00e24SAndrey A. Chernov e: line number just before the group in old file; equals f - 1 132f5e00e24SAndrey A. Chernov f: first line number in group in the old file 133f5e00e24SAndrey A. Chernov l: last line number in group in the old file 134f5e00e24SAndrey A. Chernov m: line number just after the group in old file; equals l + 1 135f5e00e24SAndrey A. Chernov n: number of lines in group in the old file; equals l - f + 1 136f5e00e24SAndrey A. Chernov E, F, L, M, N: likewise, for lines in the new file 137f5e00e24SAndrey A. Chernov %(A=B?T:E) 138f5e00e24SAndrey A. Chernov If A equals B then T else E. A and B are each either a decimal 139f5e00e24SAndrey A. Chernov constant or a single letter interpreted as above. T and E are 140f5e00e24SAndrey A. Chernov arbitrary format strings. This format spec is equivalent to T if 141f5e00e24SAndrey A. Chernov A's value equals B's; otherwise it is equivalent to E. For 142f5e00e24SAndrey A. Chernov example, `%(N=0?no:%dN) line%(N=1?:s)' is equivalent to `no lines' 143f5e00e24SAndrey A. Chernov if N (the number of lines in the group in the the new file) is 0, 144f5e00e24SAndrey A. Chernov to `1 line' if N is 1, and to `%dN lines' otherwise. 145f5e00e24SAndrey A. Chernov %c'C' 146f5e00e24SAndrey A. Chernov where C is a single character, stands for the character C. C may not 147f5e00e24SAndrey A. Chernov be a backslash or an apostrophe. E.g. %c':' stands for a colon. 148f5e00e24SAndrey A. Chernov %c'\O' 149f5e00e24SAndrey A. Chernov where O is a string of 1, 2, or 3 octal digits, stands for the 150f5e00e24SAndrey A. Chernov character with octal code O. E.g. %c'\0' stands for a null character. 151f5e00e24SAndrey A. Chernov* New diff line format specifications: 152f5e00e24SAndrey A. Chernov <PRINTF_SPEC>n 153f5e00e24SAndrey A. Chernov The line number, printed with <PRINTF_SPEC>. 154f5e00e24SAndrey A. Chernov E.g. `%5dn' prints the line number with a "%5d" format. 155f5e00e24SAndrey A. Chernov %c'C' 156f5e00e24SAndrey A. Chernov %c'\O' 157f5e00e24SAndrey A. Chernov The character C, or with octal code O, as above. 158f5e00e24SAndrey A. Chernov* Supported <PRINTF_SPEC>s have the same meaning as with printf, but must 159f5e00e24SAndrey A. Chernov match the extended regular expression %-*[0-9]*(\.[0-9]*)?[doxX]. 160f5e00e24SAndrey A. Chernov* The format spec %0 introduced in version 2.1 has been removed, since it 161f5e00e24SAndrey A. Chernov is incompatible with printf specs like %02d. To represent a null char, 162f5e00e24SAndrey A. Chernov use %c'\0' instead. 16318fd37a7SXin LI* cmp and diff now conform to POSIX 1003.2-1992 (ISO/IEC 9945-2:1993) 16418fd37a7SXin LI if the underlying system conforms to POSIX: 165f5e00e24SAndrey A. Chernov - Some messages' wordings are changed in minor ways. 166f5e00e24SAndrey A. Chernov - ``White space'' is now whatever C's `isspace' says it is. 167f5e00e24SAndrey A. Chernov - When comparing directories, if `diff' finds a file that is not a regular 168f5e00e24SAndrey A. Chernov file or a directory, it reports the file's type instead of diffing it. 169f5e00e24SAndrey A. Chernov (As usual, it follows symbolic links first.) 170f5e00e24SAndrey A. Chernov - When signaled, sdiff exits with the signal's status, not with status 2. 171f5e00e24SAndrey A. Chernov* Now portable to hosts where int, long, pointer, etc. are not all the same 172f5e00e24SAndrey A. Chernov size. 173f5e00e24SAndrey A. Chernov* `cmp - -' now works like `diff - -'. 174f5e00e24SAndrey A. Chernov 175f5e00e24SAndrey A. Chernov 176f5e00e24SAndrey A. ChernovUser-visible changes in version 2.3: 177f5e00e24SAndrey A. Chernov 178f5e00e24SAndrey A. Chernov* New diff option: --horizon-lines=lines 179f5e00e24SAndrey A. Chernov 180f5e00e24SAndrey A. Chernov 181f5e00e24SAndrey A. ChernovUser-visible changes in version 2.1: 182f5e00e24SAndrey A. Chernov 183f5e00e24SAndrey A. Chernov* New diff options: 184f5e00e24SAndrey A. Chernov --{old,new,unchanged}-line-format='format' 185f5e00e24SAndrey A. Chernov --{old,new,unchanged,changed}-group-format='format' 186f5e00e24SAndrey A. Chernov -U 187f5e00e24SAndrey A. Chernov* New diff3 option: 188f5e00e24SAndrey A. Chernov -A --show-all 189f5e00e24SAndrey A. Chernov* diff3 -m now defaults to -A, not -E. 190f5e00e24SAndrey A. Chernov* diff3 now takes up to three -L or --label options, not just two. 191f5e00e24SAndrey A. Chernov If just two options are given, they refer to the first two input files, 192f5e00e24SAndrey A. Chernov not the first and third input files. 193f5e00e24SAndrey A. Chernov* sdiff and diff -y handle incomplete lines. 194f5e00e24SAndrey A. Chernov 195f5e00e24SAndrey A. Chernov 196f5e00e24SAndrey A. ChernovUser-visible changes in version 2.0: 197f5e00e24SAndrey A. Chernov 198f5e00e24SAndrey A. Chernov* Add sdiff and cmp programs. 199f5e00e24SAndrey A. Chernov* Add Texinfo documentation. 200f5e00e24SAndrey A. Chernov* Add configure script. 201f5e00e24SAndrey A. Chernov* Improve diff performance. 202f5e00e24SAndrey A. Chernov* New diff options: 203f5e00e24SAndrey A. Chernov-x --exclude 204f5e00e24SAndrey A. Chernov-X --exclude-from 205f5e00e24SAndrey A. Chernov-P --unidirectional-new-file 206f5e00e24SAndrey A. Chernov-W --width 207f5e00e24SAndrey A. Chernov-y --side-by-side 208f5e00e24SAndrey A. Chernov--left-column 209f5e00e24SAndrey A. Chernov--sdiff-merge-assist 210f5e00e24SAndrey A. Chernov--suppress-common-lines 211f5e00e24SAndrey A. Chernov* diff options renamed: 212f5e00e24SAndrey A. Chernov--label renamed from --file-label 213f5e00e24SAndrey A. Chernov--forward-ed renamed from --reversed-ed 214f5e00e24SAndrey A. Chernov--paginate renamed from --print 215f5e00e24SAndrey A. Chernov--entire-new-file renamed from --entire-new-files 216f5e00e24SAndrey A. Chernov--new-file renamed from --new-files 217f5e00e24SAndrey A. Chernov--all-text removed 218f5e00e24SAndrey A. Chernov* New diff3 options: 219f5e00e24SAndrey A. Chernov-v --version 220f5e00e24SAndrey A. Chernov* Add long-named equivalents for other diff3 options. 221f5e00e24SAndrey A. Chernov* diff options -F (--show-function-line) and -I (--ignore-matching-lines) 222f5e00e24SAndrey A. Chernov can now be given more than once. 22318fd37a7SXin LI 22418fd37a7SXin LI 22518fd37a7SXin LI 22618fd37a7SXin LICopyright (C) 1993, 1994, 1998, 2001, 2002, 2004 Free Software 22718fd37a7SXin LIFoundation, Inc. 22818fd37a7SXin LI 22918fd37a7SXin LIThis file is part of GNU Diffutils. 23018fd37a7SXin LI 23118fd37a7SXin LIThis program is free software; you can redistribute it and/or modify 23218fd37a7SXin LIit under the terms of the GNU General Public License as published by 23318fd37a7SXin LIthe Free Software Foundation; either version 2, or (at your option) 23418fd37a7SXin LIany later version. 23518fd37a7SXin LI 23618fd37a7SXin LIThis program is distributed in the hope that they will be useful, 23718fd37a7SXin LIbut WITHOUT ANY WARRANTY; without even the implied warranty of 23818fd37a7SXin LIMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 23918fd37a7SXin LIGNU General Public License for more details. 24018fd37a7SXin LI 24118fd37a7SXin LIYou should have received a copy of the GNU General Public License 24218fd37a7SXin LIalong with this program; see the file COPYING. If not, write to 24318fd37a7SXin LIthe Free Software Foundation, Inc., 59 Temple Place - Suite 330, 24418fd37a7SXin LIBoston, MA 02111-1307, USA. 245