summaryrefslogtreecommitdiffstats
path: root/contrib/patch/NEWS
diff options
context:
space:
mode:
authorsteve <steve@FreeBSD.org>1997-06-29 06:55:02 +0000
committersteve <steve@FreeBSD.org>1997-06-29 06:55:02 +0000
commit4b6324645f7223db0870236240d6e99eb4cda757 (patch)
treeb91e93b575aeb975e736e614eaf2a0d0f8ea461a /contrib/patch/NEWS
downloadFreeBSD-src-4b6324645f7223db0870236240d6e99eb4cda757.zip
FreeBSD-src-4b6324645f7223db0870236240d6e99eb4cda757.tar.gz
Import of GNU patch version 2.4.
Diffstat (limited to 'contrib/patch/NEWS')
-rw-r--r--contrib/patch/NEWS158
1 files changed, 158 insertions, 0 deletions
diff --git a/contrib/patch/NEWS b/contrib/patch/NEWS
new file mode 100644
index 0000000..de0f757
--- /dev/null
+++ b/contrib/patch/NEWS
@@ -0,0 +1,158 @@
+Known problems:
+
+* The diffutils 2.7 documentation for `patch' is obsolete; this should be
+ fixed in diffutils 2.8. Until then, see `patch --help' or `man patch'.
+
+Change in version 2.4:
+
+* New options:
+ -Z or --set-utc sets times of patched files, assuming diff uses UTC (GMT).
+ -T or --set-time is similar, assuming local time (not recommended).
+ --backup-if-mismatch makes a backup if the patch does not match exactly
+ --no-backup-if-mismatch makes a backup only if otherwise requested
+
+* The default is now --backup-if-mismatch unless POSIXLY_CORRECT is set.
+
+* The -B or --prefix, -Y or --basename-prefix, and -z or --suffix options
+ no longer affect whether backups are made (as they did in patch 2.2 and 2.3);
+ they now merely specify the file names used when simple backups are made.
+
+* When patching a nonexistent file and making backups, an empty backup file
+ is now made (just as with traditional patch); but the backup file is
+ unreadable, as a way of indicating that it represents a nonexistent file.
+
+* `patch' now matches against empty and nonexistent files more generously.
+ A patch against an empty file applies to a nonexistent file, and vice versa.
+
+* -g or --get and PATCH_GET now have a numeric value that specifies
+ whether `patch' is getting files.
+ If the value is positive, working files are gotten from RCS or SCCS files;
+ if zero, `patch' ignores RCS and SCCS and working files are not gotten;
+ and if negative, `patch' asks the user whether to get each file.
+ The default is normally negative, but it is zero if POSIXLY_CORRECT is set.
+
+* The -G or --no-get option introduced in GNU patch 2.3 has been removed;
+ use -g0 instead.
+
+* The method used to intuit names of files to be patched is changed again:
+ `Index:' lines are normally ignored for context diffs,
+ and RCS and SCCS files are normally looked for when files do not exist.
+ The complete new method is described in the man page.
+
+* By default, `patch' is now more verbose when patches do not match exactly.
+
+* The manual page has a new COMPATIBILITY ISSUES section.
+
+Changes in version 2.3:
+
+* Unless the POSIXLY_CORRECT environment variable is set:
+
+ - `patch' now distinguishes more accurately between empty and
+ nonexistent files if the input is a context diff.
+ A file is assumed to not exist if its context diff header
+ suggests that it is empty, and if the header timestamp
+ looks like it might be equivalent to 1970-01-01 00:00:00 UTC.
+ - Files that ``become nonexistent'' after patching are now removed.
+ When a file is removed, any empty ancestor directories are also removed.
+
+* Files are now automatically gotten from RCS and SCCS
+ if the -g or --get option is specified.
+ (The -G or --no-get option, also introduced in 2.3, was withdrawn in 2.4.)
+
+* If the PATCH_VERSION_CONTROL environment variable is set,
+ it overrides the VERSION_CONTROL environment variable.
+
+* The method used to intuit names of files to be patched is changed.
+ (It was further revised in 2.4; see above.)
+
+* The new --binary option makes `patch' read and write files in binary mode.
+ This option has no effect on POSIX-compliant hosts;
+ it is useful only in on operating systems like DOS
+ that distinguish between text and binary I/O.
+
+* The environment variables TMP and TEMP are consulted for the name of
+ the temporary directory if TMPDIR is not set.
+
+* A port to MS-DOS and MS-Windows is available; see the `pc' directory.
+
+* Backup file names are no longer ever computed by uppercasing characters,
+ since this isn't portable to systems with case-insensitive file names.
+
+Changes in version 2.2:
+
+* Arbitrary limits removed (e.g. line length, file name length).
+
+* On POSIX.1-compliant hosts, you can now patch binary files using the output
+ of GNU `diff -a'.
+
+* New options:
+ --dry-run
+ --help
+ --verbose
+ -i FILE or --input=FILE
+ -y PREF or --basename-prefix=PREF
+
+* patch is now quieter by default; use --verbose for the old chatty behavior.
+
+* Patch now complies better with POSIX.2 if your host complies with POSIX.1.
+
+ Therefore:
+ - By default, no backups are made.
+ (But this was changed again in patch 2.4; see above.)
+ - The simple backup file name for F defaults to F.orig
+ regardless of whether the file system supports long file names,
+ and F~ is used only if F.orig is too long for that particular file.
+ - Similarly for the reject file names F.rej and F#.
+
+ Also:
+ - The pseudo-option `+' has been withdrawn.
+ - -b is equivalent to --version-control=simple;
+ `-z SUFF' has the meaning that `-b SUFF' used to.
+ - Names of files to be patched are taken first from *** line and then from
+ --- line of context diffs; then from Index: line; /dev/tty is
+ consulted if none of the above files exist. However, if the patch
+ appears to create a file, the file does not have to exist: instead,
+ the first name with the longest existing directory prefix is taken.
+ (These rules were changed again in patch 2.3 and 2.4; see above.)
+ - Exit status 0 means success, 1 means hunks were rejected, 2 means trouble.
+ - `-l' ignores changes only in spaces and tabs, not in other white space.
+ - If no `-p' option is given, `-pINFINITY' is assumed, instead of trying
+ to guess the proper value.
+ - `-p' now requires an operand; use `-p 0' to get the effect of the old plain
+ `-p' option.
+ - `-p' treats two or more adjacent slashes as if it were one slash.
+ - The TERM signal is caught.
+ - New option `-i F' reads patch from F instead of stdin.
+
+* The `patch' options and build procedure conform to current GNU standards.
+ For example, the `--version' option now outputs copyright information.
+
+* When the patch is creating a file, but a nonempty file of that name already
+ exists, `patch' now asks for confirmation before patching.
+
+* RCS is used only if the version control method is `existing'
+ and there is already an RCS file. Similarly for SCCS.
+ (But this was changed again in patch 2.3 and 2.4; see above.)
+
+* Copyright notices have been clarified. Every file in this version of `patch'
+ can be distributed under the GNU General Public License. See README for
+ details.
+
+Changes in version 2.1:
+
+* A few more portability bugs have been fixed. The version number has
+ been changed from 2.0.12g11 to 2.1, because the name
+ `patch-2.0.12g10' was too long for traditional Unix file systems.
+
+Versions 2.0.12g9 through 2.0.12g11 fix various portability bugs.
+
+Changes in version 2.0.12g8:
+
+* Start of the 12g series, with a GNU-style configure script and
+ long-named options.
+* Added the -t --batch option, similar to -f.
+* Improved detection of files that are locked under RCS or SCCS.
+* Reinstate the -E option to remove output files that are empty after
+ being patched.
+* Print the system error message when system calls fail.
+* Fixed various bugs and portability problems.
OpenPOWER on IntegriCloud