]> Dogcows Code - chaz/tar/blobdiff - ChangeLog
* src/tar.c (NS_PRECISION_FORMAT_MASK): New macro.
[chaz/tar] / ChangeLog
index 39aefa1c96a0f097f5291e8523932fba700447d6..088f85acccdad1df34e17967742e470dbd2ce1f0 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,320 @@
+2005-11-07  Sergey Poznyakoff  <gray@gnu.org.ua>
+       and  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * src/tar.c (NS_PRECISION_FORMAT_MASK): New macro.
+       (tar_timespec_cmp): New function. Wrapper over
+       timespec_cmp using the timespec precision provided by the
+       current archive format.
+       * src/common.h (tar_timespec_cmp): New declaration.
+       * src/compare.c (diff_file): Use tar_timespec_cmp.
+       * src/extract.c (file_newer_p): Likewise.
+       * src/update.c (update_archive): Likewise.
+       * tests/truncate.at: Reverted changes
+       * tests/update.at: Reverted changes
+
+2005-11-07  Sergey Poznyakoff  <gray@gnu.org.ua>
+
+       Support for incremental formats in pax archives.
+       Fixed POSIX compatibility of `sparse' extended header keywords.
+
+       * src/common.h (dumpdir_size,get_gnu_dumpdir)
+       (xheader_string_begin,xheader_string_add)
+       (xheader_string_end): New functions.
+       * src/create.c (dump_dir0): Handle incremental backups in pax
+       archives.
+       * src/incremen.c (dumpdir_size, get_gnu_dumpdir): New functions.
+       (purge_directory): Use stat_info.dumpdir instead of getting its
+       value explicitely.
+       * src/list.c (list_archive): Handle incremental backups in pax
+       format.
+       (decode_header): Initialize stat_info.dumpdir
+       * src/sparse.c (sparse_diff_file): Bugfix: set seekable.
+       (pax_dump_header): Store sparse map in GNU.sparse.map. If this
+       variable has been explicitely deleted, use GNU.sparse.offset/
+       GNU.sparse.numbytes variables.
+       * src/tar.c (decode_options): Incremental options are allowed with
+       --format=pax
+       (tar_stat_destroy): Free dumpdir
+       * src/tar.h (struct tar_stat_info.dumpdir): New member.
+       * src/xheader.c (xheader_keyword_deleted_p): Remove static
+       qualifier.
+       (struct xhdr_tab.decoder): Change prototype. POSIX allows string
+       values to contain embedded nulls, so take an extra argument
+       specifying the length of the string.
+       (decx,decg,dummy_decoder,atime_decoder,gid_decoder)
+       (gname_decoder,linkpath_decoder,ctime_decoder,mtime_decoder)
+       (path_decoder,size_decoder,uid_decoder,uname_decoder)
+       (sparse_size_decoder,sparse_numblocks_decoder)
+       (sparse_offset_decoder,sparse_numbytes_decoder): Likewise.
+       (decode_record): Pass value length to the handler
+       (run_override_list): Pass value length to the decoder
+       (xheader_print_n): New function
+       (xheader_print): Rewritten using xheader_print_n
+       (xheader_finish): Do not rely om strlen to compute the length of
+       the collected string: it can contain embedded nulls
+       (xheader_string_begin,xheader_string_add,xheader_string_end): New
+       functions.
+       (sparse_map_decoder,dumpdir_coder,dumpdir_decoder): New
+       functions. Handle GNU.sparse.map and GNU.dumpdir variables.
+       (xhdr_tab): Add new variables.
+
+       * tests/incr01.at: Test gnu, oldgnu, and posix formats
+       * tests/incremental.at: Likewise
+
+2005-11-06  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * src/xheader.c (strtoimax, strtoumax): Remove decls; now done
+       in system.h.
+
+2005-11-06  Sergey Poznyakoff  <gray@gnu.org.ua>
+
+       * doc/tar.texi: Properly document incremental dumps
+       * doc/value.texi: Likewise.
+       * doc/snapshot.texi: Likewise.
+
+2005-11-05  Sergey Poznyakoff  <gray@gnu.org.ua>
+
+       Improve listed incremental format:
+
+       * src/common.h (update_parent_directory): New prototype.
+       * src/create.c (dump_file): Call update_parent_directory.
+       * src/incremen.c (struct directory.mtime): New member.
+       (note_directory): Take additional arguments. All callers updated.
+       (scan_directory): Updated to use more metadata. In particular,
+       this allows to correctly detect renamed files.
+       (read_directory_file,write_directory_file)
+       (write_directory_file_entry): Support new directory file format.
+       * tests/listed01.at: Sleep 1 sec before creating second file.
+       * tests/listed02.at: Never skip the test. It should work on any
+       filesystem.
+
+       * doc/snapshot.texi: New file
+       * doc/tar.texi: Update.
+       * doc/Makefile.am: Update.
+
+2005-11-04  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * src/extract.c (set_stat): Rewrite to avoid bug in Forte
+       Developer 7 C 5.4 Patch 111708-09 (2004-02-19).
+
+2005-11-04  Sergey Poznyakoff  <gray@gnu.org.ua>
+
+       * bootstrap: Fix quoting in help output.
+       (update_po): Use backward-compatible wget option --cache instead
+       of deprecated -C to accomodate for wget 1.10.
+       Changes proposed by Eric Blake
+       * THANKS: Add Eric Blake
+
+2005-11-02  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * doc/tar.texi: Consistently put two spaces after sentences,
+       and put commas after "i.e." and "e.g.".  This is the usual GNU
+       style in manuals.
+
+       * lib/.cvsignore: Add creat-safer.c, fcntl--.h, fcntl-safer.h,
+       open-safer.c, openat-die.c, verify.h, to accommodate recent gnulib
+       changes.
+
+2005-10-27  Sergey Poznyakoff  <gray@gnu.org.ua>
+
+       * src/compare.c (diff_dumpdir): Pass a valid device number to
+       get_directory_contents.
+
+       * THANKS: Add John Thomas McDole
+
+       * bootstrap: If file `.bootstrap' exists in the cwd and is
+       readable, prepend its contents to the command line
+
+2005-10-21  Sergey Poznyakoff  <gray@gnu.org.ua>
+
+       * tests/link01.at: Skip test if ln fails (suppose the OS does
+       not support hard links).
+
+2005-10-04  Sergey Poznyakoff  <gray@gnu.org.ua>
+
+       * src/tar.c (decode_options): Report error if -A or -r is used
+       together with compression option.
+
+2005-09-29  Sergey Poznyakoff  <gray@gnu.org.ua>
+
+       * doc/tar.texi: Use @option and @kbd consistently.
+       Document new options.
+
+2005-09-28  Sergey Poznyakoff  <gray@gnu.org.ua>
+
+       * NEWS: Updated
+       * src/common.h (show_stored_names_option): New variable
+       * src/list.c (print_header): If show_stored_names_option is given,
+       list member names as stored in the archive. Patch proposed by Erik
+       Cumps <erik.cumps@icos.be>
+       * src/tar.c: Implement --show-stored-names option
+
+       * src/common.h (test_label_option): New variable;
+       * src/list.c (print_header): Special handling if test_label_option
+       is set.
+       * src/names.c (all_names_found): If test_label_option is set
+       return true.
+       * src/tar.c: New option --test-label tests the archive volume
+       label. The option proposed by Wouter Verhelst <wouter@nixsys.be>
+
+2005-09-21  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * tests/Makefile.am (clean-local): Don't attempt to run
+       $(TESTSUITE) if it doesn't exist.  Problem reported by
+       Eric Blake.
+
+2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Don't filter time stamps through the resolution supported
+       by struct stat; keep them to full nanosecond resolution.
+       This affects behavior only on older hosts or file systems
+       that have lower-resolution time stamps.
+       * src/common.h (OLDER_STAT_TIME): Parenthesize arg.
+       (OLDER_TAR_STAT_TIME): New macro.
+       (code_timespec): New function.
+       (BILLION, LOG10_BILLION, TIMESPEC_STRSIZE_BOUND): New constants.
+       * src/compare.c (diff_file): Use full time stamp resolution.
+       * src/create.c (start_header, dump_file0): Likewise.
+       (start_header, dump_file0): Adjust to new structure layout.
+       (dump_regular_finish): Simplify by using timespec_cmp.
+       * src/extract.c (struct delayed_set_stat): Don't store stat info
+       that we don't need, to save space.  All uses changed.
+       (struct delayed_set_stat, struct delayed_link, file_newer_p):
+       (create_placeholder_file, extract_link, apply_delayed_links):
+       Use full time stamp resolution.
+       (check_time): Use code_timespec rather than rolling our own code.
+       (set_stat, delay_set_stat): Arg now points to tar_stat_info to
+       avoid losing time information.  All callers changed.
+       * src/list.c (read_and, decode_header, print_heaeder):
+       Use full time stamp resolution.
+       * src/misc.c (code_timespec): New function.
+       * src/tar.h (struct tar_stat_info): Record atime, mtime, ctime
+       separately, for benefit of hosts with lower resolution.
+       * src/update.c (update_archive): Use full time stamp resolution.
+       * src/xheader.c (code_time): Use new code_timespec function
+       to simplify code.
+       (atime_coder, atime_decoder, ctime_coder, ctime_decoder):
+       (mtime_coder, mtime_decoder): Use full time stamp resolution.
+
+       Report time stamps to full resolution in environment.
+       Report memory allocation failures rather than ignoring them.
+       * src/system.c (time_to_env): New function.
+       (oct_to_env, str_to_env, chr_to_env): Report memory allocation failures.
+       (stat_to_env): Report full resolution in time stamps.
+
+2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Merge changes from gnulib for file system sub-second time stamps.
+       * configure.ac: Remove checks for struct stat.st_spare1, struct
+       stat.st_atim.tv_nsec, struct stat.st_atimespec.tv_nsec, struct
+       stat.st_atimensec, as gnulib now does this for us.
+       Similarly for LIB_CLOCK_GETTIME.
+       * gnulib.modules: Add stat-time.
+       * lib/.cvsignore: Add stat-time.h.
+       * src/common.h: Include stat-time.h.
+       (timespec_lt): Remove.  All callers changed to use timespec_cmp.
+       (get_stat_atime, get_stat_ctime, get_stat_mtime):
+       (set_stat_atime, set_stat_ctime, set_stat_mtime):
+       Remove; now defined by stat-time.h.
+
+2005-09-14  Sergey Poznyakoff  <gray@gnu.org.ua>
+
+       * src/incremen.c (list_dumpdir): New function. Used to dump
+       contents of GNUTYPE_DUMPDIR blocks.
+       * src/common.h (list_dumpdir): Likewise.
+       * src/list.c (list_archive): Use list_dumpdir() to display
+       GNUTYPE_DUMPDIR blocks. Do that only if two or more -v options are
+       given.
+
+2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * lib/.cvsignore: Adjust to current gnulib and modules used.
+       Add getdelim.c, getdelim.h, mbchar.c, mbchar.h, mbuiter.h, memchr.c,
+       pipe-safer.c, size_max.h, strdup.c, strdup.h, strnlen.h, strnlen1.c,
+       strnlen1.h, unistd--.h.
+       Remove getndelim2.c, getndelim2.h, pathmax.h, sysexits.h, xstrdup.c.
+
+       Treat fishy-looking hard links like fishy-looking symlinks.
+       * src/extract.c (struct delayed_set_stat): Rename after_symlinks
+       member to after_links.  All uses changed.
+       (struct delayed_link): Renamed from struct delayed_symlink.
+       All uses changed.  New member is_symlink.
+       (delayed_link_head): Renamed from delayed_symlink_head.  All uses
+       changed.
+       (create_placeholder_file): New function, taken from extract_symlink.
+       (extract_link): Create placeholders for fishy-looking hard links.
+       (extract_symlink): Move code into create_placeholder_file.
+       (apply_delayed_links): Renamed from apply_delayed_symlinks.
+       All uses changed.  Create both hard links and symlinks.
+
+2005-09-03  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * README-alpha: Modernize description of software required for
+       developers.
+
+2005-09-03  Sergey Poznyakoff  <gray@gnu.org.ua>
+
+       * gnulib.modules: Add strdup
+       * src/incremen.c (purge_directory): Do not dereference symbolic
+       links. Bug reported by Ralph Corderoy <ralph@inputplus.co.uk> and
+       David Brown <davidb@davidb.org>
+       * tests/incr01.at: New test.
+       * tests/Makefile.am: Add incr01.at
+       * tests/testsuite.at: Likewise
+       * THANKS: Updated
+
+2005-08-17  Sergey Poznyakoff  <gray@gnu.org.ua>
+
+       * src/incremen.c (read_directory_file): Use strtoumax to read
+       snapshot file contents.
+       (write_directory_file_entry): Use umaxtostr().
+
+2005-07-31  Sergey Poznyakoff  <gray@gnu.org.ua>
+
+       * src/create.c (file_dumpable_p,dump_file0): Fix handling of
+       sparse files to /dev/null with --totals option.
+       * tests/update.at: Remove dependency on file order.
+
+2005-07-08  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
+
+       * doc/tar.texi: Fix typo.
+
+2005-07-07  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
+
+       * tests/pipe.at: Pipe the output from `tar xfv' through sort.
+
+2005-06-25  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
+
+       * src/sparse.c (tar_sparse_init): Fill structure with zeros. Call
+       sparse_select_optab(). All callers updated.
+       (sparse_member_p, sparse_fixup_header): Use tar_sparse_init().
+
+2005-06-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
+
+       * src/sparse.c (pax_sparse_member_p): Checking member size
+       vs. file size is not reliable enough. Use sparse_map_avail.
+
+       * tests/star/gtarfail.at: Adapt to the new output format
+       * tests/star/gtarfail2.at: Likewise
+       * tests/star/multi-fail.at: Likewise
+       * tests/star/pax-big-10g.at: Likewise
+       * tests/star/ustar-big-2g.at: Likewise
+       * tests/star/ustar-big-8g.at: Likewise
+
+       * tests/sparse03.at: New test.
+       * tests/Makefile.am: Add sparse03.at
+       * tests/testsuite.at: Likewise
+
+       * src/xheader.c (size_decoder): Do not set archive_file_size.
+
+       Fix bugs introduced yesterday:
+
+       * src/sparse.c (tar_sparse_init):  Initialize
+       dimped_size to 0.
+       (sparse_scan_file): Initialize archive_file_size to 0. The
+       variable keeps size of the file *as stored in the archive*, not
+       the size reported by stat.
+
 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
 
        A sweep of the sparse code prompted by a bug report by Jim Meyering.
This page took 0.028031 seconds and 4 git commands to generate.