** New features
When one file is a prefix of the other, cmp now appends the shorter
file's size to the EOF diagnostic.
** Bug fixes
Using an invalid regular expression with --ignore-matching-lines=RE (-I)
no longer causes stack overflow. Before, with an invocation like the
following, diff would diagnose the error, but would still proceed to
blow the stack: diff -Ia -I\\ <(echo) <(echo b)
[bug introduced in 2.9]
diff no longer mishandles line numbers exceeding 2**31 on Mingw-w64.
the ---presume-output-tty (ostensibly test-only) option would cause
diff --color to read an uninitialized variable
[bug introduced in 3.4]
** Performance changes
diff's default algorithm has been tweaked to deal better with larger
files, reversing some of the changes made in diffutils-3.4.
------------------------------
* Noteworthy changes in release 3.5 (2016-08-20) [stable]
** Bug fixes
diff3 no longer malfunctions due to use-after-free
[bug introduced in 3.4]
diff --color no longer colorizes when TERM=dumb
------------------------------
* Noteworthy changes in release 3.4 (2016-08-08) [stable]
** New features
diff accepts two new options --color and --palette to generate
and configure colored output. --color takes an optional argument
specifying when to colorize a line: --color=always, --color=auto,
--color=never. --palette is used to configure which colors are used.
** Bug fixes
When binary files differ, diff now exits with status 1 as POSIX requires.
Formerly it exited with status 2.
Unless the --ignore-file-name-case option is used, diff now
considers file names to be equal only if they are byte-for-byte
equivalent. This fixes a bug where diff in an English locale might
consider two Asian file names to be the same merely because they
contain no English characters.
diff -B no longer generates incorrect output if the two inputs
each end with a one-byte incomplete line.
diff --brief no longer reports a difference for unusual identical files.
For example, when comparing a file like /proc/cmdline (for which the linux
kernel reports st_size of 0 even though it is not an empty file) to a
copy of that file's contents residing on a "normal" file system:
$ f=/proc/cmdline; cp $f k; diff --brief $f k
Files /proc/cmdline and k differ
** Performance changes
diff's default algorithm has been adjusted to output higher-quality
results at somewhat greater computational cost, as CPUs have gotten
faster since the algorithm was last tweaked in diffutils-2.6 (1993).
(pkgsrc changes)
- Add comments on patches, picking from (old) cvs log
Issues found with existing distfiles:
distfiles/eclipse-sourceBuild-srcIncluded-3.0.1.zip
distfiles/fortran-utils-1.1.tar.gz
distfiles/ivykis-0.39.tar.gz
distfiles/enum-1.11.tar.gz
distfiles/pvs-3.2-libraries.tgz
distfiles/pvs-3.2-linux.tgz
distfiles/pvs-3.2-solaris.tgz
distfiles/pvs-3.2-system.tgz
No changes made to these distinfo files.
Otherwise, existing SHA1 digests verified and found to be the same on
the machine holding the existing distfiles (morden). All existing
SHA1 digests retained for now as an audit trail.
Changelog:
* Noteworthy changes in release 3.3 (2013-03-24) [stable]
** New features
--new-file (-N) and --unidirectional-new-file now allow comparisons to "-".
A standard input that's closed acts like a nonexistent file.
A file name containing spaces, double quotes, backslashes or control
characters is now encoded in a diff header as a double-quoted C string
literal. The escape sequences \\, \", \a, \b, \f, \n, \r, \t, \v and
\ooo (a three-digit octal number between 0 and 255) are used.
** Packaging
diffutils is now designed to build with Cygwin or MinGW rather than DJGPP.
The ms subdirectory has been removed.
developer is officially maintaining the package.
The rationale for changing this from "tech-pkg" to "pkgsrc-users" is
that it implies that any user can try to maintain the package (by
submitting patches to the mailing list). Since the folks most likely
to care about the package are the folks that want to use it or are
already using it, this would leverage the energy of users who aren't
developers.
* cmp and diff now conform to POSIX 1003.1-2001 (IEEE Std 1003.1-2001)
if the underlying system conforms to POSIX and if the _POSIX2_VERSION
environment variable is set to 200112. Conformance removes support
for `diff -NUM', where NUM is a number. Use -C NUM or -U NUM instead.
* cmp now supports trailing operands SKIP1 and SKIP2, like BSD cmp.
* cmp -i or --ignore-initial now accepts SKIP1:SKIP2 option value.
* New cmp option: -n or --bytes.
* cmp's old -c or --print-chars option has been renamed;
use -b or --print-bytes instead.
* cmp now outputs "byte" rather than "char" outside the POSIX locale.
* cmp -l's index column width now adjusts to fit larger (or smaller) files.
* cmp -l -s and cmp -s -l are not allowed. Use cmp -s or cmp -l instead.
* diff uses ISO 8601 style time stamps for output times (e.g. "2001-11-23
16:44:36.875702460 -0800") unless in the C or POSIX locale and the
-c style is specified.
* diff's -I and -F options use the regexp syntax of grep, not of Emacs.
* diff now accepts multiple context arguments, and uses their maximum value.
* New diff and sdiff options:
-E --ignore-tab-expansion
--strip-trailing-cr
* New diff options:
--from-file=FILE, --to-file=FILE
--ignore-file-name-case
--no-ignore-file-name-case
* New diff3 and sdiff option:
--diff-program=PROGRAM
* The following diff options are still accepted, but are no longer documented.
They may be withdrawn in future releases.
-h (omit; it has no effect)
-H (use --speed-large-files instead)
-L (use --label instead)
-P (use --unidirectional-new-file instead)
--inhibit-hunk-merge (omit; it has no effect)
* Recursive diffs now sort file names according to the LC_COLLATE locale
category if possible, instead of using native byte comparison.
* Diff printf specs can now use the "0" and "'" flags.
* The new sdiff interactive command `ed' precedes each version with a header.
* On 64-bit hosts, files larger than 2 GB can be compared.
* Some internationalization support has been added, but multibyte locales
are still not completely supported yet.
* Some diagnostics have been reworded slightly for consistency.
Also, `diff -D FOO' now outputs `/* ! FOO */' instead of `/* not FOO */'.
* The `patch' part of the manual now describes `patch' version 2.5.4.
* Man pages are now distributed and installed.
* There is support for DJGPP; see the 'ms' subdirectory and the files
m4/dos.m4 and */setmode.*.
Summary of changes:
- removal of USE_GTEXINFO
- addition of mk/texinfo.mk
- inclusion of this file in package Makefiles requiring it
- `install-info' substituted by `${INSTALL_INFO}' in PLISTs
- tuning of mk/bsd.pkg.mk:
removal of USE_GTEXINFO
INSTALL_INFO added to PLIST_SUBST
`${INSTALL_INFO}' replace `install-info' in target rules
print-PLIST target now generate `${INSTALL_INFO}' instead of `install-info'
- a couple of new patch files added for a handful of packages
- setting of the TEXINFO_OVERRIDE "switch" in packages Makefiles requiring it
- devel/cssc marked requiring texinfo 4.0
- a couple of packages Makefiles were tuned with respect of INFO_FILES and
makeinfo command usage
See -newly added by this commit- section 10.24 of Packages.txt for
further information.
Solaris, narrow down the platforms, and use specific inclusion rather
than disclusion: mark them as ONLY_FOR_PLATFORM=SunOS-*-*, rather
than NOT_FOR_PLATFORM=NetBSD-*-*.