+2008-10-19 Sergey Poznyakoff <gray@gnu.org.ua>
+
+ * THANKS: Add Ed Leaver.
+ * src/buffer.c (short_read): Remove !read_full_records condition,
+ which was always false on a first record and thus disabled record
+ size autodetection. Thanks Ed Leaver for the patch.
+ (_gnu_flush_read): Handle blocking_factor == 1.
+ * tests/sparsemv.at: Reflect changes to buffer.c.
+ * tests/sparsemvp.at: Likewise.
+ * tests/volsize.at: Likewise.
+ * NEWS: Update.
+
2008-10-16 Sergey Poznyakoff <gray@gnu.org.ua>
* src/common.h (transform_symlinks_option): New global.
-GNU tar NEWS - User visible changes. 2008-10-16
+GNU tar NEWS - User visible changes. 2008-10-22
Please send GNU tar bug reports to <bug-tar@gnu.org>
\f
** The --null option disabled handling of tar options in list files. This
is fixed.
+** Fixed record size autodetection. If the detected record size differs from
+the expected value (either default, or set on the command line), tar
+always prints a warning if verbosity level is set to 1 or greater,
+i.e. if either -t or -v option is given.
\f
Drew Trieger trieger@woodstock.abbott.com
Dunstan Vavasour dev@cegelecproj.co.uk
Ed Childs echilds@bgs.com
+Ed Leaver ewleaver@comcast.net
Edgar Taube et@immd8.informatik.uni-erlangen.de
Eduardo Kortright eduardo@cs.ua.edu
Eduardo V. de Rivas eddie@asterion.com
left = record_size - status;
if (left && left % BLOCKSIZE == 0
- && !read_full_records && verbose_option > 1
+ && verbose_option
&& record_start_block == 0 && status != 0)
{
unsigned long rsize = status / BLOCKSIZE;
{
while (!try_new_volume ())
;
+ if (current_block == record_end)
+ /* Necessary for blocking_factor == 1 */
+ flush_archive();
return;
}
else if (status == SAFE_READ_ERROR)
# Process this file with autom4te to create testsuite. -*- Autotest -*-
# Test suite for GNU tar.
-# Copyright (C) 2005, 2006, 2007 Free Software Foundation, Inc.
+# Copyright (C) 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
echo "Create archive"
tar --sparse -c --record-size=512 -M -L6 -f arc.1 -f arc.2 sparsefile || exit 1
echo "Test archive"
-tar -t -M -f arc.1 -f arc.2
+tar --record-size=512 -t -M -f arc.1 -f arc.2
echo "Compare archive"
-tar -d -M -f arc.1 -f arc.2
+tar --record-size=512 -d -M -f arc.1 -f arc.2
echo "Pass 2: Split within a data block"
genfile --sparse --file sparsefile 0 ABCDEFGHIJ 1M ABCDEFGHI || AT_SKIP_TEST
echo "Create archive"
tar --sparse -c --record-size=512 -M -L6 -f arc.1 -f arc.2 sparsefile || exit 1
echo "Test archive"
-tar -t -M -f arc.1 -f arc.2
+tar --record-size=512 -t -M -f arc.1 -f arc.2
echo "Compare archive"
-tar -d -M -f arc.1 -f arc.2
+tar --record-size=512 -d -M -f arc.1 -f arc.2
],
[0],
[Pass 1: Split between data blocks
# Process this file with autom4te to create testsuite. -*- Autotest -*-
# Test suite for GNU tar.
-# Copyright (C) 2005, 2006, 2007 Free Software Foundation, Inc.
+# Copyright (C) 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
sparsefile
Compare archive
],
-[],[],[],[pax])])
+[tar: Record size = 12 blocks
+tar: Record size = 12 blocks
+],[],[],[pax])])
# Process this file with autom4te to create testsuite. -*- Autotest -*-
# Test suite for GNU tar.
-# Copyright (C) 2006, 2007 Free Software Foundation, Inc.
+# Copyright (C) 2006, 2007, 2008 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
Extracted directory
abc
abc/CCC
+],
+[tar: Record size = 5 blocks
+tar: Record size = 5 blocks
])
AT_CLEANUP