./devel/patch, Patch files using diff output

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]

Branch: CURRENT, Version: 2.7.6, Package name: patch-2.7.6, Maintainer: pkgsrc-users

'patch' takes a patch file containing a difference listing
produced by diff and applies those differences to one or
more original files, producing patched versions.

This is the GPL version from the Free Software Foundation.

Required to build:

Master sites: (Expand)

SHA1: 6f64fa75993bdb285ac4ed6eca6c9212725bff91
RMD160: 439753620b4d27d606110093d0e586719b8451c3
Filesize: 765.387 KB

Version history: (Expand)

CVS history: (Expand)

   2018-03-03 02:31:35 by Makoto Fujiwara | Files touched by this commit (2) | Package updated
Log message:
Updated devel/patch to 2.7.6

Changes in version 2.7.6:
* Files specififed on the command line are no longer verified to be inside the
  current working directory, so commands like "patch -i foo.diff \ 
../foo" will
  work again.
* Various fixes.
   2015-11-03 04:29:40 by Alistair G. Crooks | Files touched by this commit (1995)
Log message:
Add SHA512 digests for distfiles for devel category

Issues found with existing distfiles:
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.
   2015-04-23 10:20:45 by Thomas Klausner | Files touched by this commit (2) | Package updated
Log message:
Update to 2.7.5:

Changes in version 2.7.5:

* There are users which expect patch to follow symbolic links in the working
  directory, so patch now again follows symbolic links as long as they do not
  leave the working directory.
   2015-02-20 08:09:19 by Tobias Nygren | Files touched by this commit (1)
Log message:
PR pkg/49672: OSX build fix (already reported and fixed upstream)
While here simplify Interix fix by overriding autoconf test instead of
manually patching the sources.
   2015-02-08 10:29:43 by Makoto Fujiwara | Files touched by this commit (2) | Package updated
Log message:
Update 2.7.1 to 2.7.4
Changes until version 2.7.4:

* When a file isn't being deleted because the file contents don't match the
  patch, the resulting message is now "Not deleting file ... as content
  differs from patch" instead of "File ... is not empty after patch; not
* Function names in hunks (from diff -p) are now preserved in reject files.
* Patch no longer follows symbolic links to input and output files.  This
  ensures that symbolic links created by git-style patches cannot cause
  patch to write outside the working directory (CVE-2015-1196).
* Various fixes.
   2014-10-09 16:07:17 by Thomas Klausner | Files touched by this commit (1163)
Log message:
Remove pkgviews: don't set PKG_INSTALLATION_TYPES in Makefiles.
   2014-01-03 15:55:47 by Joerg Sonnenberger | Files touched by this commit (2)
Log message:
Switch to xz version from upstream and remove outdated comment about
dependency cycles.
   2014-01-01 06:32:27 by Ryo ONODERA | Files touched by this commit (2) | Package updated
Log message:
Update to 2.7.1

Changes in version 2.7.1:

* Two critical bug fixes in the "diff --git" format support.
* Clarify the message printed when a patch is expected to empty out and delete
  a file, but the file does not become empty.
* Various improvements to messages when applying a patch to a file of different
  type (regular file vs. symlink), when there are line ending differences (LF
  vs. CRLF), and when in --dry-run mode.
* When in the root directory, allow file names that are absolute or that
  contain a component of "..".
* New --follow-symlinks option to allow to treat symlinks as files: this was
  patch's behavior before version 2.7.
* Ignore when extended attributes cannot be preserved because they are
  unsupported or because permission to set them is denied.
* License clarifications in NEWS and README.
* Portability bug fixes.

Changes in version 2.7:

* Patch no longer gets a failed assertion for certain mangled patches.
* Ignore destination file names that are absolute or that contain a component
  of "..".  This addresses CVE-2010-4651.
* 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: 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.
* 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
* Files to be deleted are deleted once the entire input has been processed, not
  immediately.  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.

Changes in version 2.6.1:

* Support for diff3(1) style merges which show the old, original, and new lines
  of a conflict has been added (--merge=diff3).  The default still is the
  merge(1) format (--merge or --merge=merge).
* Bug and portability fixes.

Changes in version 2.6:

* A regression test suite has been added ("make check").
* A --merge option has been added which will merge a patch file into
  the original files similar to merge(1).  See the patch(1) manual page for
* Unless a filename has been specified on the command line, look only
  for filenames in the patch until one has been found.  This prevents
  patch from tripping over garbage that isn't a patch.  When conforming
  to POSIX, this behavior is turned off and patch will ask for a
  filename if none is found.
* All reject files have file name headers, which allows them to be used as
  regular patches.
* When a patch file modifies the same file more than once, patch makes
  sure it backs up the original version of the file rather than any
  intermediary versions.
* In the above situation, if there are rejects in more than one of those
  patches, they all go into the same reject file.
* When the file to be patched is specified on the command line, all patches
  are applied to that file. (Previously, the first patch was applied to the
  file specified on the command line, and the names of additional files to
  patch were taken from header lines in the patch file.)
* The -r option now works correctly even if there are rejects in more than
  one file.  Use the - argument to discard rejects.
* Rejected hunks come out in unified diff format if the input patch was of
  that format, otherwise in ordinary context diff form.  Use the
  --reject-format option to enforce either "context" or \ 
"unified" format.
  Timestamps and the "diff -p" (--show-c-function) output are preserved.
  Changed lines in context format reject files are correctly indicated
  with '!' markers as the format defines.  Added and removed lines are
  still marked with '+' and '-', respectively.
* The file permissions of reject files are no longer set to match the files
  they modify.  Instead, they retain the default permissions.  This is
  consistent with reject files produced with the -r option.
* The --binary option disables the heuristic for stripping CRs from
  line endings in patches.  This allows to preserve CRs even in mangled
  patches, or in patches generated on non-POSIX systems and without the
  --binary option.
* Backup files for nonexisting files are now created with default
  permissions rather than with mode 0: backup files with mode 0 were
  causing problems with applications which do not expect unreadable
* The -B, -Y, and -z options (--prefix, --basename-prefix, --suffix) now
  imply the simple version control mode, and can be combined.
* Patch rejects more malformed normal format commands and checks for trailing
  garbage.  It now recognizes ed commands without addresses.
* Change the default value of PATCH_GET to 0.  (Previously, the default was 0
  under POSIXLY_CORRECT and negative otherwise; this is causing problems
  particularly with Perforce.)
* Handle missing timestamps better.
* Various bug fixes.
* Switch to GNU General Public License version 3.