GNU tar NEWS - User visible changes. version 1.15.90 - Sergey Poznyakoff, 2006-02-19 * New features * Any number of -T (--files-from) options may be used in the command line. The file specified with -T may include any valid `tar' options, including another -T option. Compatibility note: older versions of tar would only recognize -C as an option name within the file list file. Now any file whose name starts with - is handled as an option. To insert file names starting with dash, use the --add-file option. * List files containing null-separated file names are detected and processed automatically. It is no longer necessary to give the --null option. * New option --no-unquote disables the unquoting of input file names. This is useful for processing output from `find dir -print0'. An orthogonal option --unquote is provided as well. * New option --test-label tests the archive volume label. If an argument is specified, the label is compared against its value. Tar exits with code 0 if the two strings match, and with code 2 if they do not. If no argument is given, the --verbose option is implied. In this case, tar prints the label name if present and exits with code 0. * New option --show-stored-names. When creating an archive in verbose mode, it lists member names as stored in the archive, i.e., with any eventual prefixes removed. The option is useful, for example, while comparing `tar cv' and `tar tv' outputs. * New option --to-command pipes the contents of archive members to the specified command. * New option --atime-preserve=system, which uses the O_NOATIME feature of recent Linux kernels to avoid some problems when preserving file access times. * New option --delay-directory-restore delays restoring modification times and permissions of extracted directories until the end of extraction. This is necessary for restoring from archives with unusual member ordering (in particular, those created with --no-recursion option). This option is implied when restoring from incremental archives. * New option --restrict prohibits use of some potentially harmful tar options. Currently it disables '!' escape in multi-volume name menu. * New options --quoting-style and --quote-chars control the way tar quotes member names on output. The --quoting-style takes an argument specifying the quoting style to use (literal, shell, shell-always, c, escape, locale, clocale). The argument to --quote-chars is a string specifying characters to quote, even if the selected quoting style would not quote them otherwise. The option --no-quote-chars is provided to disable quoting certain characters. * The end-of-volume script (introduced with --info-script option) can get current archive name from the environment variable TAR_ARCHIVE and the volume number from the variable TAR_VOLUME. It can alter the archive name by writing new name to the file descriptor 3. * Better support for full-resolution time stamps. Tar cannot restore time stamps to full nanosecond resolution, though, until the kernel guys get their act together and give us a system call to set file time stamps to nanosecond resolution. * The -v option now prints time stamps only to 1-minute resolution, not full resolution, to avoid using up too many output columns. Nanosecond resolution is now supported, but that would be too much. * Bug fixes ** Allow non-option arguments to be interspersed with options. ** When extracting or listing archives in old GNU format, tar used to read an extra block of data after a long name header if length of the member name was divisible by block size (512). Consequently, the file pointer was set off and the next member was not processed correctly. ** Previous version created invalid archives when files shrink during reading. ** Compare mode (tar d) hanged when trying to compare file contents. ** Previous versions in certain cases failed to restore directory modification times. ** When creating an archive, do not attempt to store files whose meta-data cannot be stored in the header due to format limitations (for ustar and v7 formats). ** The --version option now also outputs information about copyright, license, and credits. This reverts to the behavior of tar 1.14 and earlier, and conforms to the GNU coding standards. The --license (-L) option introduced in tar 1.15 has been removed, since it's no longer needed.