]> Dogcows Code - chaz/tar/blobdiff - NEWS
Document changes to the --transform option.
[chaz/tar] / NEWS
diff --git a/NEWS b/NEWS
index 95532bd0bf889bf9a8cc2f7f1d0957b995e9f308..90ad8045723bfdc76c91503a9ba6ad50e85951b6 100644 (file)
--- a/NEWS
+++ b/NEWS
-GNU tar NEWS - User visible changes.
-Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2003,
-2004, 2005
-Free Software Foundation, Inc.
-See the end for copying conditions.
-
+GNU tar NEWS - User visible changes. 2008-02-04
 Please send GNU tar bug reports to <bug-tar@gnu.org>
+
+\f
+version 1.19.1 (CVS)
+
+* New option --auto-compress (-a)
+
+With --create, selects compression algorithm basing on the suffix
+of the archive file name.
+
+* New option --lzma
+
+Selects LZMA compression algorithm
+
+* New option --hard-dereference
+
+During archive creation, dereferences hard links and stores the files
+they refer to, instead of creating usual hard link members (type '1').
+
+* New option --checkpoint-action
+
+This action allows to specify an action to be executed upon hitting a
+checkpoint.  Recognized actions are: dot, echo (the default),
+echo=string, and sleep=value.  Any number of `--checkpoint-action'
+options can be specified, the actions will be executed in order of
+their appearance in the command line.  
+
+* The --transform option.
+
+Any number of `--transform' options can be given in the command line.
+The specified transformations will be applied in turn.
+
+The argument to `--transform' option can be a list of replace
+expressions, separated by a semicolon (as in `sed').
+
+* Info (end-of-volume) scripts
+
+The value of the blocking factor is made available to info and
+checkpoint scripts via environment variable TAR_BLOCKING_FACTOR.
+
+* Bugfixes.
+** Fix bug introduced in version 1.19: tar refused to update non-existing
+archives.
+
+\f
+version 1.19 - Sergey Poznyakoff, 2007-10-10
+
+* New option --exclude-vcs
+
+Excludes directories and files, created by several widely used version
+control systems, e.g. "CVS/", ".svn/", etc.
+
+* --exclude-tag and --exclude-cache options
+
+The following options now work with incremental archives as well:
+
+  --exclude-caches       
+  --exclude-caches-all   
+  --exclude-tag
+  --exclude-tag-all
+  --exclude-tag-under
+
+* Fix handling of renamed files in listed incremental archives.
+
+Previous versions always stored absolute file names in rename
+records, even if -P was not used. This is fixed: rename records
+contain file names processed in accordance with the command line
+settings.
+  
+* Fix --version output.
+
+* Recognition of broken archives.
+
+When supplied an archive smaller than 512 bytes in reading mode (-x,
+-t), the previous version of tar silently ignored it, exiting with
+code 0. It is fixed. Tar now issues the following diagnostic message:
+'This does not look like a tar archive', and exits with code 2.
+
+* Fix double-dot recognition in archive member names in case of duplicate '/.'.
+
+* Fix file padding in case of truncation of the input file to zero size.
+
+\f
+version 1.18 - Sergey Poznyakoff, 2007-06-29
+
+* Licensed under the GPLv3
+
+* Fixed several bugs in the testsuite
+
+\f
+version 1.17 - Sergey Poznyakoff, 2007-06-08
+
+* Fix archivation of sparse files in posix mode.  Previous versions padded
+  sparse members with spurious zero blocks.
+
+* Fix operation of --verify --listed-incremental.  Version 1.16.1 produced
+  a full dump when both options were given.
+
+* Fix --occurrence.  In previous versions it continued scanning the archive
+  even though all requested members has already been extracted.
+
+* Scope of --transform and --strip-components options.
+
+In addition to affecting regular archive members, the --transform
+option affects hard and soft link targets and the --strip-components
+option affects hard link targets as well.
+
+* End-of-volume script can send the new volume name to tar by writing
+  it to the file descriptor stored in the environment variable `TAR_FD'.
+
 \f
-version 1.15.2 (CVS version -- unreleased)
+version 1.16.1 - Sergey Poznyakoff, 2006-12-09
+
+* New option --exclude-tag allows to specify "exclusion tag files", i.e.
+  files whose presence in a directory means that the directory should not
+  be archived.
+
+* The --exclude-cache option excludes directories that contain the
+  CACHEDIR.TAG file from being archived.  Previous versions excluded
+  directory contents only, while the directories themselves were
+  still added to the archive.
+
+* Support for reading ustar type 'N' header logical records has been removed.
+  This GNU extension was generated only by very old versions of GNU 'tar'.
+  Unfortunately its implementation had security holes; see
+  <http://archives.neohapsis.com/archives/fulldisclosure/2006-11/0344.html>.
+  We don't expect that any tar archives in practical use have type 'N'
+  records, but if you have one and you trust its contents, you can
+  decode it with GNU tar 1.16 or earlier.
+
+* Race conditions have been fixed that in some cases briefly allowed
+  files extracted by 'tar -x --same-owner' (or plain 'tar -x', when
+  running as root) to be accessed by users that they shouldn't have been.
+
+\f
+version 1.16 - Sergey Poznyakoff, 2006-10-21
+
+* After creating an archive, tar exits with code 1 if some files were
+changed while being read.  Previous versions exited with code 2 (fatal
+error), and only if some files were truncated while being archived.
+
+* New option --mtime allows to set modification times for all archive
+members during creation.
+
+* Bug fixes
+** Avoid running off file descriptors when using multiple -C options.
+** tar --index-file=FILE --file=- sent the archive to FILE, and
+the listing to stderr.
+
+\f
+version 1.15.91 - Sergey Poznyakoff, 2006-06-16
+
+* Incompatible changes
+
+** Globbing
+
+Previous versions of GNU tar assumed shell-style globbing when
+extracting from or listing an archive.  For example:
+
+  tar xf foo.tar '*.c'
+
+would extract all files whose names end in '.c'.  This behavior
+was not documented and was incompatible with traditional tar
+implementations.  Therefore, starting from this version, GNU tar
+no longer uses globbing by default.  For example, the above invocation
+is now interpreted as a request to extract from the archive the file
+named '*.c'.
+
+To treat member names as globbing patterns, use --wildcards option.
+If you wish tar to mimic the behavior of versions up to 1.15.90,
+add --wildcards to the value of the environment variable TAR_OPTIONS.
+
+The exact way in which tar interprets member names is controlled by the
+following command line options:
+
+     --wildcards              use wildcards
+     --anchored               patterns match file name start
+     --ignore-case            ignore case
+     --wildcards-match-slash  wildcards match `/'
+
+Each of these options has a '--no-' counterpart that disables its
+effect (e.g. --no-wildcards).
+
+These options affect both the interpretation of member names from
+command line and that of the exclusion patterns (given with --exclude
+and --exclude-from options). The defaults are:
+
+ 1. For member names: --no-wildcards --anchored
+ 2. For exclusion patterns: --wildcards --no-anchored --wildcards-match-slash
+
+The options can appear multiple times in the command line, thereby
+changing the way command line arguments are interpreted.  For example,
+to use case-insensitive matching in exclude patterns and to revert to
+case-sensitive matching for the rest of command line, one could write:
+
+  tar xf foo.tar --ignore-case --exclude-from=FILE --no-ignore-case file.name
+
+** Short option -l is now an alias of --check-links option, which complies
+with UNIX98.  This ends the transition period started with version 1.14.
 
 * New features
 
-* Any number of -T (--files-from) options may be used in the command line.
+** New option --transform allows to transform file names before storing them
+in the archive or member names before extracting.  The option takes a
+sed replace expression as its argument.  For example,
+
+  tar cf foo.tar --transform 's,^,prefix/,'
+
+will add 'prefix/' to all file names stored in foo.tar.
+
+** --strip-components option works when deleting and comparing.  In previous
+versions it worked only with --extract.
+
+** New option --show-transformed-names enables display of transformed file
+or archive.   It generalizes --show-stored-names option, introduced in
+1.15.90.  In particular, when creating an archive in verbose mode, it lists
+member names as stored in the archive, i.e., with any eventual prefixes
+removed and file name transformations applied.  The option is useful,
+for example, while comparing `tar cv' and `tar tv' outputs.
+
+** New incremental snapshot file format keeps information about file names
+as well as that about directories.
+
+** The --checkpoint option takes an optional argument specifying the number
+of records between the two successive checkpoints.   Optional dot
+starting the argument intructs tar to print dots instead of textual
+checkpoints.
+
+** The --totals option can be used with any tar operation (previous versions
+understood it only with --create).  If an argument to this option is
+given, it specifies the signal upon delivery of which the statistics
+is to be printed.  Both forms of this option (with and without
+argument) can be given to in a single invocation of tar.
+
+* Bug fixes
+** Detect attempts to update compressed archives.
+
+\f
+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
@@ -18,14 +249,14 @@ 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
+** 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.
+** 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.
+** 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.
@@ -33,32 +264,46 @@ 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,
+** 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
+** 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
+** 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 --restrict prohibits use of some potentially harmful tar
+** 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.
 
-* The end-of-volume script (introduced with --info-script option) can
+** 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
+** 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,
+** 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.
 
@@ -72,9 +317,17 @@ 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.
+** Compare mode (tar d) hung 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.
 
 \f
 version 1.15.1 - Sergey Poznyakoff, 2004-12-21
@@ -720,14 +973,14 @@ Versions 1.07 back to 1.00 by Jay Fenlason.
 
 \f
 
-Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2003
-Free Software Foundation, Inc.
+Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2003,
+2004, 2005, 2006, 2007 Free Software Foundation, Inc.
 
 This file is part of GNU tar.
 
 GNU tar is free software; you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
+the Free Software Foundation; either version 3, or (at your option)
 any later version.
 
 GNU tar is distributed in the hope that it will be useful,
@@ -743,4 +996,8 @@ Boston, MA 02110-1301, USA.
 Local variables:
 mode: outline
 paragraph-separate: "[ \f]*$"
+eval: (add-hook 'write-file-hooks 'time-stamp)
+time-stamp-start: "changes. "
+time-stamp-format: "%:y-%02m-%02d"
+time-stamp-end: "\n"
 end:
This page took 0.030233 seconds and 4 git commands to generate.