This is the mail archive of the cygwin-announce mailing list for the Cygwin project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Updated: tar-1.15.91-1

Hash: SHA1

A new release of tar, 1.15.91-1, is available, replacing 1.15.1-4 as the
current version.

This is a new beta-quality upstream release.  However, it fixes enough
bugs, and has been available long enough upstream, that I felt it was
worth promoting to the current cygwin version.  Depending on the reaction
on the cygwin mailing list, if things do not work out, I am willing to
revert back to the last stable version (1.15.1) if needed, but I do not
anticipate problems.  Meanwhile, if you have problems, the you can always
select 1.15.1 using the "prev" radio button of setup.exe.  This release
requires cygwin-1.5.20 or later.  A list of changes from the NEWS file is
attached; see also /usr/share/doc/tar-1.15.91/.

GNU Tar is an archiver program. It is used to create and manipulate files
that are actually collections of many other files; the program provides
users with an organized and systematic method of controlling a large
amount of data.  Despite its name, that is an acronym of "tape archiver",
GNU Tar is able to direct its output to any available devices, files or
other programs, it may as well access remote devices or files.  The main
areas of usage for GNU Tar are: storage, backup and transportation.

To update your installation, click on the "Install Cygwin now" link on the web page.  This downloads setup.exe to your system.
Save it and run setup, answer the questions and pick up 'tar' from the
'Base' category (it should already be selected).

Note that downloads from (aka aren't
allowed due to bandwidth limitations.  This means that you will need to
find a mirror which has this update, please choose the one nearest to you:

If you want to make a point or ask a question the Cygwin mailing list is
the appropriate place.

- --
Eric Blake
volunteer cygwin tar maintainer

To unsubscribe to the cygwin-announce mailing list, look at the
"List-Unsubscribe: " tag in the email header of this message.  Send email
to the address specified there.  It will be in the format:

If you need more information on unsubscribing, start reading here:

Please read *all* of the information on unsubscribing that is available
starting at this URL.

Version: GnuPG v1.4.2.1 (Cygwin)
Comment: Public key at
Comment: Using GnuPG with Mozilla -

version 1.15.91 - Sergey Poznyakoff, (CVS version)

* 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

** 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

** 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

** 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.

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

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]