Home | History | Annotate | Line # | Download | only in dist
      1 User-visible changes in version 2.8.1:
      2 
      3 * Documentation fixes.
      4 
      5 User-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 
     55 User-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 
     63 User-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 
     72 User-visible changes in version 2.5:
     73 
     74 * New cmp option: -v --version
     75 
     76 
     77 User-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 
    134 User-visible changes in version 2.3:
    135 
    136 * New diff option: --horizon-lines=lines
    137 
    138 
    139 User-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 
    154 User-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 
    184 
    185 Copyright (C) 1993, 1994, 1998, 2001, 2002 Free Software Foundation,
    186 Inc.
    187 
    188 This file is part of GNU Diffutils.
    189 
    190 This program is free software; you can redistribute it and/or modify
    191 it under the terms of the GNU General Public License as published by
    192 the Free Software Foundation; either version 2, or (at your option)
    193 any later version.
    194 
    195 This program is distributed in the hope that they will be useful,
    196 but WITHOUT ANY WARRANTY; without even the implied warranty of
    197 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    198 GNU General Public License for more details.
    199 
    200 You should have received a copy of the GNU General Public License
    201 along with this program; see the file COPYING.  If not, write to
    202 the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
    203 Boston, MA 02111-1307, USA.
    204