GNU patch close to next stable release (2)
- From
- Andreas Grünbacher <agruen@gnu.org>
- Date
- Aug 1, 2012, 11:50 UTC
- Message-ID
- <CAHpGcM+DkL_CCisCjF9m0j3NRJUNAdfL05T0cfLjLfVORQHrpw@mail.gmail.com>
After another improvement in git-style diff support to better handle concatenated diffs, here is a last call for testing to ensure that the code works well enough to become the next stable release. Please find the latest development snapshots here:
ftp://alpha.gnu.org/gnu/patch/
The following significant changes have happened since the last stable release in December 2009:
* Support for most features of the "diff --git" format, including renames and copies, permission changes, and symlink diffs. Binary diffs are not supported yet; patch will complain and skip them.
* Support for double-quoted filenames in the "diff --git" format: when a filename starts with a double quote, it is interpreted as a 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 recognized.
* Patch now ignores destination file names that are absolute or that contain a component of "..". This addresses CVE-2010-4651.
* Refuse to apply a normal patch to a symlink. (Previous versions of patch were replacing the symlink with a regular file.)
* When trying to modify a read-only file, warn about the potential problem by default. The --read-only command line option allows to change this behavior.
* Files that should be deleted are now deleted once the entire patch file has been read. This fixes a bug with numbered backup files.
* When a timestamp specifies a time zone, honor that instead of assuming the local time zone (--set-date) or Universal Coordinated Time (--set-utc).
* Support for nanosecond precision timestamps.
* Many portability and bug fixes.
Please report bugs or suggestions on the <bug-patch@gnu.org> mailing list, or in the project's bug tracker on Savannah:
http://savannah.gnu.org/projects/patch
Thanks, Andreas