-GNU tar NEWS - User visible changes. 2010-01-26
+GNU tar NEWS - User visible changes. 2010-02-25
Please send GNU tar bug reports to <bug-tar@gnu.org>
\f
-version 1.22.90 (Git)
+version 1.22.91 (Git)
* Record size autodetection
an existing file, starting with `/' or `.'. In the latter
case, the value is replaced with the modification time of that file.
+* Environment of --to-command script.
+
+The environment passed to the --to-command script is extended with
+the following variables:
+
+ TAR_VERSION GNU tar version number
+ TAR_ARCHIVE The name of the archive
+ TAR_VOLUME Ordinal number of the volume
+ TAR_FORMAT Format of the archive
+ TAR_BLOCKING_FACTOR Current blocking factor
+
* Bugfixes
** Fix handling of hard link targets by -c --transform.
** Fix hard links recognition with -c --remove-files.
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301, USA.
-AC_INIT([GNU tar], [1.22.90], [bug-tar@gnu.org])
+AC_INIT([GNU tar], [1.22.91], [bug-tar@gnu.org])
AC_CONFIG_SRCDIR([src/tar.c])
AC_CONFIG_AUX_DIR([build-aux])
AC_CONFIG_HEADERS([config.h])
GID of the file owner.
@end table
-In addition to these variables, @env{TAR_VERSION} contains the
+Additionally, the following variables contain information about
+tar mode and the archive being processed:
+
+@table @env
+@vrindex TAR_VERSION, to-command environment
+@item TAR_VERSION
@GNUTAR{} version number.
+@vrindex TAR_ARCHIVE, to-command environment
+@item TAR_ARCHIVE
+The name of the archive @command{tar} is processing.
+
+@vrindex TAR_BLOCKING_FACTOR, to-command environment
+@item TAR_BLOCKING_FACTOR
+Current blocking factor (@pxref{Blocking}.
+
+@vrindex TAR_VOLUME, to-command environment
+@item TAR_VOLUME
+Ordinal number of the volume @command{tar} is processing.
+
+@vrindex TAR_FORMAT, to-command environment
+@item TAR_FORMAT
+Format of the archive being processed. @xref{Formats}, for a complete
+list of archive format names.
+@end table
+
If @var{command} exits with a non-0 status, @command{tar} will print
an error message similar to the following:
stat_to_env (char *name, char type, struct tar_stat_info *st)
{
str_to_env ("TAR_VERSION", PACKAGE_VERSION);
+ str_to_env ("TAR_ARCHIVE", *archive_name_cursor);
+ dec_to_env ("TAR_VOLUME", archive_name_cursor - archive_name_array + 1);
+ dec_to_env ("TAR_BLOCKING_FACTOR", blocking_factor);
+ str_to_env ("TAR_FORMAT",
+ archive_format_string (current_format == DEFAULT_FORMAT ?
+ archive_format : current_format));
chr_to_env ("TAR_FILETYPE", type);
oct_to_env ("TAR_MODE", st->stat.st_mode);
str_to_env ("TAR_FILENAME", name);