{"thread":{"id":"18749","subject":"GNU patch: upcoming stable release","startedAt":"2009-04-06T16:13:37Z","lastAt":"2009-04-06T16:13:37Z","messageCount":1,"participants":["Andreas Gruenbacher"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"110598","messageId":"200904061813.37994.agruen@suse.de","threadId":"18749","inReplyTo":null,"subject":"GNU patch: upcoming stable release","fromName":"Andreas Gruenbacher","fromEmail":"agruen@suse.de","sentAt":"2009-04-06T16:13:37Z","receivedAt":"2009-04-06T16:13:37Z","isPatch":false,"sender":{"key":"agruen@suse.de","avatar":null},"body":"Hello,\n\nI am pleased to announce the next alpha release of GNU patch, available by \nanonymous FTP from:\n\n  ftp://alpha.gnu.org/gnu/patch/\n\nThe code should be feature complete for the next stable release with only a \nfew minor bugfixes left in the queue.  This is your chance to report more \nbugs that still need to be addressed.  Please expect the next stable release \nto happen in about a month's time.\n\nThe last stable release dates back to June 2004 with version 2.5.9.  I would \nlike to thank Paul Eggert for his work on GNU patch, and for making his code \nrepository available for import.  A new project has been created on Savannah \nwith the new code repository and the bug-patch@gnu.org mailing list archive:\n\n  http://savannah.gnu.org/projects/patch\n\nA lot of things have accumulated since version 2.5.9.  The following user \nvisible changes have been made:\n\n* A regression test suite has been added (\"make check\").\n\n* A -m or --merge option has been added which will merge a patch file into\n  the original files similar to merge(1).  See the patch(1) manual page for\n  documentation.\n\n* Unless a filename has been specified on the command line, look only\n  for filenames in the patch until one has been found.  This prevents\n  patch from tripping over garbage that isn't a patch.  When conforming\n  to POSIX, this behavior is turned off and patch will ask for a\n  filename if none is found.\n\n* All reject files have file name headers, which allows to use them\n  as regular patches.\n\n* When a patch file modifies the same file more than once, patch makes\n  sure it backs up the original version of the file, rather than any\n  intermediary versions.\n\n* In the above situation, if there are rejects in more than one of those\n  patches, the rejects are appended to the same reject file (rather then\n  overwriting themselves).\n\n* The -r option works correctly even there are rejects in more than one\n  file.  Use the - argument to discard rejects.\n\n* Rejected hunks come out in unified diff format if the input patch was of\n  that format, otherwise in ordinary context diff form.  Use the\n  --reject-format option to enforce either \"context\" or \"unified\" format.\n  The \"diff -p\" (--show-c-function) output is preserved.\n  Changed lines in context format reject files are correctly indicated\n  with '!' markers as the format defines.  Added and removed lines are\n  still marked with '+' and '-', respectively.\n\n* The file permissions of reject files are no longer set to match the files\n  they modify.  Instead, they retain the default permissions.  This is\n  consistent with reject files to which rejects of multiple files may be\n  written (-r option).\n\n* The --binary option disables the heuristic for stripping CRs from\n  line endings in patches.  This allows to preserve CRs even in mangled\n  patches, or in patches generated without the --binary option on non-POSIX\n  systems.\n\n* Backup files for nonexisting files are now created with default\n  permissions rather than with mode 0: backup files with mode 0 were\n  causing problems with applications which do not expect unreadable\n  files.\n\n* The -B, -Y, and -z options (--prefix, --basename-prefix, --suffix) now\n  imply the simple version control mode, and can be combined.\n\n* Patch rejects more malformed normal format commands and checks for trailing\n  garbage.  It now recognizes ed commands without addresses.\n\nPlease see the project's bug tracker for a list of known issues before \nreporting those things again on the mailing list.  (Postponed bugs are not \ngoing to be addressed in the next stable release.)\n\nPlease email bugs or suggestions to <bug-patch@gnu.org>.\n\nThanks,\nAndreas\n"}]}