]> Dogcows Code - chaz/tar/blobdiff - NEWS
Merge branch 'master' of ssh://git.sv.gnu.org/srv/git/tar
[chaz/tar] / NEWS
diff --git a/NEWS b/NEWS
index b305f26a27348edb86cf13b53980b832d5cfa5c0..8244bad1e10675781564819569ee7d2a8e71449a 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,8 +1,36 @@
-GNU tar NEWS - User visible changes. 2010-09-06
+GNU tar NEWS - User visible changes. 2010-11-07
 Please send GNU tar bug reports to <bug-tar@gnu.org>
 
 \f
-version 1.23.90 - (Git)
+version 1.25 - Sergey Poznyakoff, 2010-11-07
+
+* Fix extraction of empty directories with the -C option in effect.
+* Fix extraction of device nodes.
+* Make sure name matching occurs before eventual name transformation.
+
+Tar 1.24 changed the ordering of name matching and name transformation
+so that the former saw already transformed file names.  This made it
+impossible to match file names in certain cases.  It is fixed now.
+
+* Fix the behavior of tar -x --overwrite on hosts lacking O_NOFOLLOW.
+
+* Improve the testsuite.
+
+* Alternative decompression programs.
+
+If extraction from a compressed archive fails because the corresponding
+compression program is not installed and the following two conditions
+are met, tar retries extraction using an alternative decompressor:
+
+ 1. Another compression program supported by tar is able to handle this
+ compression format.
+ 2. The compression program was not explicitly requested in the command
+ line by the use of such options as -z, -j, etc.
+
+For example, if `compress' is not available, tar will try `gzip'. 
+
+\f
+version 1.24 - Sergey Poznyakoff, 2010-10-24
 
 * The --full-time option.
 
@@ -14,10 +42,40 @@ time stamps to the full resolution.
 ** More reliable directory traversal when creating archives
 
 Tar now checks for inconsistencies caused when a file system is
-modified while tar is creating an archive.  The new checks are
-implemented via the openat, fstatat, and readlinkat calls standardized
-by POSIX.1-2008.  On an older system that lacks these calls, tar
-emulates them at some cost in efficiency and reliability.
+modified while tar is creating an archive.  In the new approach, tar
+maintains a cache of file descriptors to directories, so it uses more
+file descriptors than before, but it adjusts to system limits on
+the number of file descriptors.  Tar also takes more care when
+a file system is modified while tar is extracting from an archive.
+
+The new checks are implemented via the openat and related calls
+standardized by POSIX.1-2008.  On an older system where these calls do
+not exist or do not return useful results, tar emulates the calls at
+some cost in efficiency and reliability.
+
+** Symbolic link attributes
+
+When extracting symbolic links, tar now restores attributes such as
+last-modified time and link permissions, if the operating system
+supports this.  For example, recent versions of the Linux kernel
+support setting times on symlinks, and some BSD kernels also support
+symlink permissions.
+
+** --dereference consistency
+
+The --dereference (-h) option now applies to files that are copied
+into or out of archives, independently of other options.  For example,
+if F is a symbolic link and archive.tar contains a regular-file member
+also named F, "tar --overwrite -x -f archive.tar F" now overwrites F
+itself, rather than the file that F points to.  (To overwrite the file
+that F points to, add the --dereference (-h) option.)  Formerly,
+--dereference was intended to apply only when using the -c option, but
+the implementation was not consistent.
+
+Also, the --dereference option no longer affects accesses to other
+files, such as archives and time stamp files.  Symbolic links to these
+files are always followed.  Previously, the links were usually but not
+always followed.
 
 ** Spurious error diagnostics on broken pipe.
 
@@ -29,7 +87,7 @@ invoked as in the example below:
 
 ** --remove-files
 
-Tar --remove-files failed to remove a directory which contained
+`Tar --remove-files' failed to remove a directory which contained
 symlinks to another files within that directory.
 
 ** --test-label behavior
This page took 0.024243 seconds and 4 git commands to generate.