]> Dogcows Code - chaz/tar/blobdiff - ChangeLog
Minor fix
[chaz/tar] / ChangeLog
index 48bf6a7c386d5ec9f080761c40a9c446e22aa627..bb7d8de1351216ae3d71d4565b3a57c0de9cde1b 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,8 +1,204 @@
+2004-02-21  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
+
+       * src/create.c (dump_file0): The conditional at line
+       1296 prevented incremental backups on individual files
+       from working, as reported by Andreas Schuldei
+       <andreas@schuldei.org>.
+
+       This is due to the condition
+     
+          (0 < top_level || !incremental_option) 
+
+       Removing it makes incremental backups work for individual
+       files as well as for directories. On the other hand, it does
+       not affect other functionality, as shown by the reasoning below:
+
+       To begin with, the two parts of this condition are mutually
+       superfluous, because
+
+         1) when top_level < 0, incremental_option == 1
+         so the condition yields false
+         2) when top_level >= 0, incremental_option == 0
+         so the condition yields true.
+
+       In other words, it is completely equivalent to
+
+             (!incremental_option)
+
+        Now, let's consider the effect of its removal. There are two cases:
+
+       1) when incremental_option==1
+       This means incremental backup in progress. In this case dump_file
+       is invoked only for directories or for files marked with 'Y' by
+       get_directory_contents. The latter are those that did not meet the
+       condition in incremen.c:242, which is exactly the same condition
+       as this at create.c:1296. So, for these files the check
+       (!incremental_option) is useless, since the rest of the
+       conditional will yield false anyway. On the other hand, if
+       dump_file is invoked on a directory, the conditional will yield
+       false due to !S_ISDIR assertion, so these will be processed as usual.
+
+       Thus, for this case the extra condition (!incremental_option) is
+       irrelevant, and its removal won't alter the behavior of tar,
+       *except* that it will enable incremental backups on individual
+       files, which is the wanted effect.
+     
+        2) when incremental_option==0
+       In this case the condition yields true and its removal does not
+       affect the functionality.
+
+       * THANKS: Updated
+       * configure.ac: Raised patchlevel to 92a
+       * src/incremen.c: Minor stylistic fixes.
+       * tests/listed01.sh: New test. Check listed incremental
+       backups on individual files.
+       * tests/Makefile.am: Added listed01.sh
+       
+2004-02-20  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
+
+       * src/common.h (simple_finish_header,start_private_header): New
+       declarations
+       (xheader_ghdr_name): Changed declaration
+       * src/create.c (start_private_header): Removed static qualifier.
+       (write_extended): Removed superfluous last argument. Use
+       xheader_write()
+       (simple_finish_header): New function.
+       (finish_header): Use simple_finish_header() to break recursive
+       dependency between this function and write_extended().
+       * src/tar.c (assert_format): Do not bail out if several
+       --format arguments are given. This is a common case when
+       TAR_OPTIONS are used.
+       (decode_options): New option --show-defaults displays the
+       compiled-in defaults.
+       Use POSIX format if no --format option was given and
+       --pax-option was specified.
+       Do not allow to use --pax-option unless the archive format is
+       set to POSIX (or reading subcommand is requested).
+
+       * src/update.c (update_archive): Write global extended header if
+       constructed.
+       * src/xheader.c (xheader_format_name): Bugfix. 
+       (xheader_xhdr_name): Changed the default extended header name
+       to '%d/PaxHeaders.%p/%f', as POSIX requires.
+       (xheader_ghdr_name): Removed unused argument.
+       (xheader_write,xheader_write_global): New function.
+       (xheader_decode): Modified to honor overrides whatever
+       the current archive format is.
+
+       * src/delete.c (delete_archive_members): Call xheader_decode
+       unconditionally.
+       * src/list.c (decode_header): Likewise.
+       * src/incremen.c (sort_obstack): Fixed typo in the comment
+       
+       * doc/tar.texi: Document new default for extended
+       header names.
+       
+       * tests/before: Accept an optional list of allowed archive
+       formats. Exit with the status 77 if the current archive
+       format does not match any of them.
+       * tests/delete03.sh: Require gnu, oldgnu or posix format
+       * tests/incremen.sh: Require gnu or oldgnu format
+       * tests/multiv01.sh: Likewise
+       
+2004-02-20  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
+       
+       * doc/tar.texi (Option Summary): Documented --pax-option
+       * src/tar.c: Likewise.
+       * NEWS: Likewise.
+       * src/create.c (to_chars): Added a comment.
+       * src/tar.h: Comment to GNU_FORMAT
+       
+2004-02-18  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
+
+       * README: Updated
+       * configure.ac: Added stpcpy
+       * bootstrap: Likewise
+       * lib/Makefile.am: Likewise
+       * src/common.h (xheader_xhdr_name,xheader_ghdr_name): New
+       functions
+       * src/create.c (write_extended): Call xheader_xhdr_name
+       instead of using hardcoded "././@PaxHeader" name.
+       * src/tar.c: New option --pax-option (equivalent to -o option
+       of pax).
+       * src/xheader.c: Implement pax -o option. Fixed misleading
+       heading comment (introduced 2003-09-02). 
+       * src/incremen.c: Minor fixes
+       * m4/.cvsignore: Updated
+       
+2004-02-17  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
+
+       * src/incremen.c: Removed accumulator stuff in favor of obstack.
+       (get_directory_contents): Split into two functions
+       * src/update.c: Minor changes
+       * doc/tar.texi: Fixed typo
+       
+2004-02-15  Paul Eggert  <eggert@twinsun.com>
+
+       Fix Debian bug 230872, originally reported by Jeff King in
+       <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=230872>.
+
+       * doc/tar.texi (posix compliance): Remove.  The whole section
+       was a misunderstanding of what POSIXLY_CORRECT is supposed to
+       mean.  The GNU Coding Standards says that POSIXLY_CORRECT
+       is for disabling extensions that are incompatible with POSIX:
+       it is not for disabling compatible extensions.  All references
+       to this section removed.
+       (posix): This format is created only if the posix format is
+       specified; it is no longer created if gnu format is specified
+       and POSIXLY_CORRECT is set.
+       * src/tar.c (decode_options): Ignore POSIXLY_CORRECT.
+       POSIX does not specify the behavior of tar, so we should
+       not worry about POSIXLY_CORRECT here.
+
+2004-01-21  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
+
+       * Makefile.am: Removed m4
+       * configure.ac: Require automake-1.8/autoconf-2.59. Removed
+       m4/Makefile.
+       * README-alpha: Updated
+       * bootstrap: Updated TP URL, improved help output. Default
+       to :ext:anoncvs and set CVS_RSH, unless already set.
+       * m4/Makefile.am: Removed
+
+2004-01-21  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
+
+       * bootstrap: Bugfix by Marco Gerards <metgerards@student.han.nl>:
+       Use $option instead of $1 so all options will be parsed.
+
+2004-01-04  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
+
+       Started rewriting buffer.c ...
+
+       * bootstrap: New option --no-po
+       * src/buffer.c (new_volume,check_label_pattern): Changed return type.
+       (time_to_start_writing): Changed data type
+       (file_to_switch_to): Removed. Variable never assigned to.
+       (open_archive) Moved option compatibility checks to tar.c
+       Other minor changes.
+       * src/common.h (maybe_backup_file): Changed return type
+       * src/misc.c: Likewise.
+       * src/create.c: Updated invocations of safer_name_suffix
+       * src/extract.c: Likewise
+       * src/delete.c: Updated assignment to write_archive_to_stdout
+       * src/tar.c (decode_options): More option compatibility checks
+       (moved from buffer.c)
+       * src/update.c (time_to_start_writing): Changed data type.
+       * tests/recurse.sh: New test case.
+       * tests/mksparse.c: New file.
+       * tests/Makefile.am: Added recurse.sh and mksparse.c
+
+2004-01-02  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
+
+       * src/sparse.c (sparse_diff_file): Bugfix. Thanks
+       Martin Simmons for the patch.
+       * src/create.c (dump_dir0): Bugfix. Thanks Piotr Czerwinski
+       <pius@pld-linux.org> for the patch.
+
 2003-12-26  Paul Eggert  <eggert@twinsun.com>
 
        Synchronize with Gettext 0.13.1, Automake 1.8, Autoconf 2.59,
        and translation website.
 2003-12-26  Paul Eggert  <eggert@twinsun.com>
 
        Synchronize with Gettext 0.13.1, Automake 1.8, Autoconf 2.59,
        and translation website.
-       
+
        * bootstrap: Don't bother skipping codeset.m4, glibc21.m4,
        intdiv0.m4, inttypes_h.m4, inttypes.m4, inttypes-pri.m4,
        isc-posix.m4, and lcmessage.m4 from gnulib.  This list of files is
        * bootstrap: Don't bother skipping codeset.m4, glibc21.m4,
        intdiv0.m4, inttypes_h.m4, inttypes.m4, inttypes-pri.m4,
        isc-posix.m4, and lcmessage.m4 from gnulib.  This list of files is
        * tests/delete03.sh: Likewise.
        * tests/extrac04.sh: Likewise.
        * tests/multiv01.sh: Likewise.
        * tests/delete03.sh: Likewise.
        * tests/extrac04.sh: Likewise.
        * tests/multiv01.sh: Likewise.
-       
+
 2003-12-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
 
        * src/incremen.c (write_directory_file): Use sys_truncate
 2003-12-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
 
        * src/incremen.c (write_directory_file): Use sys_truncate
        stored on local CVS on mirddin. This repository will
        be synchronized with Savannah as soon as the latter
        becomes operational again.
        stored on local CVS on mirddin. This repository will
        be synchronized with Savannah as soon as the latter
        becomes operational again.
-       
+
 2003-12-01  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
 
        * TODO: Updated
 2003-12-01  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
 
        * TODO: Updated
 2003-11-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
 
        Rewritten sparse file handling.
 2003-11-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
 
        Rewritten sparse file handling.
-       
+
        * src/sparse.c: New file. Provides a universal framework
        * src/sparse.c: New file. Provides a universal framework
-       for various methods for sparse files handling.  
+       for various methods for sparse files handling.
        * src/Makefile.am: Added sparse.c
        * src/common.h (struct sp_array,sparsearray,sp_array_size)
        (init_sparsearray,fill_in_sparse_array): Removed
        * src/Makefile.am: Added sparse.c
        * src/common.h (struct sp_array,sparsearray,sp_array_size)
        (init_sparsearray,fill_in_sparse_array): Removed
        diagnostics functions.
        * src/incremen.c: Use new diagnostics functions.
        * src/names.c: Likewise.
        diagnostics functions.
        * src/incremen.c: Use new diagnostics functions.
        * src/names.c: Likewise.
-       
+
 2003-11-14  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
 
        * configure.ac: Fixed check for setsockopt
 
        * src/create.c: Do not zero-terminate name field if
 2003-11-14  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
 
        * configure.ac: Fixed check for setsockopt
 
        * src/create.c: Do not zero-terminate name field if
-       the name is exactly 100 characters long. 
+       the name is exactly 100 characters long.
        (write_ustar_long_name): Fixed cheking for unsplittable
        names.
        (write_ustar_long_name): Fixed cheking for unsplittable
        names.
-       
+
 2003-11-14  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
 
        * src/create.c (start_header): Removed debugging hook
 2003-11-14  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
 
        * src/create.c (start_header): Removed debugging hook
        * src/xheader.c (atime_decoder,gid_decoder,ctime_decoder)
        (mtime_decoder,size_decoder,uid_decoder): Use xstrtoumax.
        Fixes `pax-big-10g' bug.
        * src/xheader.c (atime_decoder,gid_decoder,ctime_decoder)
        (mtime_decoder,size_decoder,uid_decoder): Use xstrtoumax.
        Fixes `pax-big-10g' bug.
-       
+
 2003-11-12  Paul Eggert  <eggert@twinsun.com>
 
        Fix some C compatibility bugs reported by Joerg Schilling.
 2003-11-12  Paul Eggert  <eggert@twinsun.com>
 
        Fix some C compatibility bugs reported by Joerg Schilling.
        (DEFAULT_ST_BLKSIZE): New macro.
        (ST_BLKSIZE): Use it, instead of DEV_BSIZE.
        * src/tar.c (enum): Remove comma just before }.
        (DEFAULT_ST_BLKSIZE): New macro.
        (ST_BLKSIZE): Use it, instead of DEV_BSIZE.
        * src/tar.c (enum): Remove comma just before }.
-       
+
 2003-11-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
 
        * src/list.c (decode_header): Initialize st_atime and
 2003-11-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
 
        * src/list.c (decode_header): Initialize st_atime and
        * src/system.h [MSDOS]: Fixed spelling of EACCES. Added
        macro overriding broken mkdir prototypes.
 
        * src/system.h [MSDOS]: Fixed spelling of EACCES. Added
        macro overriding broken mkdir prototypes.
 
-2003-10-04  Sergey Poznyakoff  <gray@Mirddin.farlep.net>  
+2003-10-04  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
 
        * configure.ac: Check for dev_t and ino_t.
        * m4/Makefile.am: Added missing files.
 
        * configure.ac: Check for dev_t and ino_t.
        * m4/Makefile.am: Added missing files.
        * src/delete.c: Likewise.
        * src/extract.c: Likewise.
        * src/rtapelib.c: Likewise.
        * src/delete.c: Likewise.
        * src/extract.c: Likewise.
        * src/rtapelib.c: Likewise.
-       
-2003-10-04  Sergey Poznyakoff  <gray@Mirddin.farlep.net> 
+
+2003-10-04  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
 
        Implemented --occurrence option.
 
        Implemented --occurrence option.
-       
+
        * NEWS: Updated.
        * src/tar.c: New option --occurrence.
        * src/common.h (occurrence_option): New global
        * NEWS: Updated.
        * src/tar.c: New option --occurrence.
        * src/common.h (occurrence_option): New global
        (names_done): Removed
        (all_names_found,names_notfound): Rewritten.
 
        (names_done): Removed
        (all_names_found,names_notfound): Rewritten.
 
-2003-10-02  Sergey Poznyakoff  <gray@Mirddin.farlep.net> 
+2003-10-02  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
 
        * src/tar.c: Removed extra precaution regarding
        subcommand_option == CAT_SUBCOMMAND
        * lib/Makefile.am: Updated
 
        * src/tar.c: Removed extra precaution regarding
        subcommand_option == CAT_SUBCOMMAND
        * lib/Makefile.am: Updated
-       
+
 2003-10-02  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
 
        * src/common.h (names_done): New function.
 2003-10-02  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
 
        * src/common.h (names_done): New function.
        condition.
        * src/tar.c: New option --first-copy
        * NEWS: Updated
        condition.
        * src/tar.c: New option --first-copy
        * NEWS: Updated
-       
+
 2003-09-24  Paul Eggert  <eggert@twinsun.com>
 
        * src/rmt.c (main): Don't translate Copyright string; international
 2003-09-24  Paul Eggert  <eggert@twinsun.com>
 
        * src/rmt.c (main): Don't translate Copyright string; international
 See ChangeLog.1 for earlier changes.
 
 
 See ChangeLog.1 for earlier changes.
 
 
-Copyright (C) 1997, 1998, 1999, 2000, 2001, 2003 Free Software Foundation,
-Inc.
+
+Copyright (C) 1997, 1998, 1999, 2000, 2001, 2003, 2004 Free Software
+Foundation, Inc.
 
 This file is part of GNU tar.
 
 
 This file is part of GNU tar.
 
This page took 0.03141 seconds and 4 git commands to generate.