]> Dogcows Code - chaz/tar/blobdiff - ChangeLog
Add rpmatch
[chaz/tar] / ChangeLog
index 0af84dd9a6c82d90e5bdf346b5d5440776ee2283..c8c992943595a2393fbef870e3825413765be254 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,167 @@
+2005-11-11  Sergey Poznyakoff  <gray@gnu.org.ua>
+
+       * src/buffer.c (flush_write,flush_read): Change data type.
+       (flush_archive): Compute actual buffer fill level before calling
+       low level function.
+       (close_archive): Call flush_archive again if the first call
+       resulted in partially filled buffer.
+       (try_new_volume): Rewritten handling of initial headers.
+       (add_chunk_header): New function. Write an additional header
+       before the continuation chunk. The purpose of the header is to
+       allow third-party tars to extract the member.
+       (simple_flush_write): Take an argument.
+       (_gnu_flush_write): Correctly handle partially filled buffers.
+       * src/common.h (flush_read,flush_write): Functions, again.
+       (write_extended): Changed declaration
+       (xheader_format_name): New declaration
+       * src/create.c (write_extended): Change type and meaning of
+       the first argument. All callers updated
+       * src/xheader.c (xheader_format_name): Remove static
+       qualifier. Change last argument.
+       Correct buffer size calculation (allocated too much space).
+       (xheader_write): Increase global_header_count here ...
+       (xheader_write_global): ... instead of here
+       
+       * tests/testsuite.at (AT_TAR_CHECK): Define TEST_TAR_FORMAT
+       * tests/multiv01.at: Update
+       * tests/multiv02.at: Update
+       * tests/multiv03.at: Update
+       * tests/sparsemvp.at: Update
+       * tests/star/multi-fail.at: Update
+       
+       * scripts/tarcat: Handle archives in pax format. Improve handling
+       of traditional archives.
+       * doc/tar.texi (Tarcat): New node
+       
+2005-11-10  Sergey Poznyakoff  <gray@gnu.org.ua>
+
+       Fix splitting of sparse files between the volumes.
+       
+       * src/buffer.c (try_new_volume): Bugfix. Always check
+       continued_file_name. If it is absent, the volume is out
+       of sync.
+       (add_multi_volume_header): Create GNU.volume.filename keyword in
+       the extended header.
+       * src/sparse.c (sparse_dump_region): Call mv_size_left.
+       (sparse_dump_file): Enclose the loop in mv_begin/mv_end.
+       * src/system.c: Do not pad compressed output if it goes to
+       stdout.
+       * src/xheader.c (xhdr_tab): New keyword GNU.volume.filename.
+
+       * tests/sparsemv.at: New testcase
+       * tests/sparsemvp.at: New testcase
+       * tests/Makefile.am: Add sparsemv.at and sparsemvp.at.
+       * tests/testsuite.at: Likewise.
+
+2005-11-09  Sergey Poznyakoff  <gray@gnu.org.ua>
+
+       * src/buffer.c: Rewritten in a more modular fashion to provide
+       GNU extensions (multi-volume archives and archive labels) in
+       pax format.
+       NOTICE, that some of the aspects (e.g. splitting the archive
+       on the extended header boundary) are still not solved, others
+       (splitting a sparse file between the volume) require additional
+       testing. Wait for the next commit.
+       
+       (volume_label,continued_file_name,continued_file_size)
+       (continued_file_offset): New globals.
+       (save_name,save_totsize,save_sizeleft): Make static
+       (mv_begin,mv_end,mv_total_size,mv_size_left): New functions
+       (open_archive,flush_write,flush_read): Rewritten
+       
+       * src/common.h (save_name,save_sizeleft,save_totsize): Remove
+       globals.
+       (volume_label,continued_file_name,continued_file_size): New
+       variables.
+       (flush_read,flush_write): Pointers to functions
+       (mv_begin,mv_end,mv_total_size,mv_size_left): New functions
+       (write_extended): New function.
+
+       * src/compare.c, src/create.c, src/extract.c, src/incremen.c,
+       src/list.c: Use mv_.* functions uniformly instead of fiddling
+       with the global variables.
+       * src/sparse.c: Use mv_.* functions where necessary.
+       * src/tar.c (decode_options): Allow to use --multi-volume and
+       --label with pax archives.
+       * src/xheader.c (xhdr_tab): Support for new GNU keywords.
+
+       * tests/delete01.at, tests/delete02.at, tests/delete03.at,
+       tests/delete04.at, tests/delete05.at, tests/extrac01.at,
+       tests/extrac02.at, tests/extrac03.at, tests/extrac04.at,
+       tests/extrac05.at, tests/incr01.at, tests/incremental.at,
+       tests/listed01.at, tests/listed02.at, tests/long01.at,
+       tests/longv7.at, tests/multiv01.at, tests/multiv02.at,
+       tests/multiv03.at, tests/multiv04.at, tests/options.at,
+       tests/options02.at, tests/same-order01.at, tests/same-order02.at,
+       tests/sparse01.at, tests/sparse02.at, tests/sparse03.at,
+       tests/star/multi-fail.at (AT_KEYWORDS): Improve to allow execution
+       of related tests in groups.
+
+       * doc/tar.texi: Update
+       
+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
This page took 0.022195 seconds and 4 git commands to generate.