Subject: GNU patch close to next stable release

From: Andreas Gruenbacher <agruen-mXXj517/[email-masked]>
Date: Tue, 17 Apr 2012 18:07:53 +0200

I'm glad to announce that finally, support for git-style diffs is working well 
enough, and no more major issues seem to be in our way before the next stable 
release of GNU patch.

Some things have changed significantly recently in order to get the code 
release ready, so now would be a really great time for an extra round of 
testing.

You can find the latest snapshot here:

  ftp://alpha.gnu.org/gnu/patch/

The last stable release dates back to December 2009 with version 2.6.1.  The 
following significant changes have happened since then:

* 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-mXXj517/[email-masked]> mailing list, or 
in the project's bug tracker on Savannah:

  http://savannah.gnu.org/projects/patch

Thanks,
Andreas