X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;ds=sidebyside;f=ChangeLog;h=bfb4a6a693bada1416e2f528a8b196ff99964ef8;hb=04549e1f21fda2527a5100e3152c21407eed1fda;hp=93c5826d0023cb73f8ee83ed884ccad9587b9004;hpb=fc42672fe00a543d40f4f0cd3b32853a3dc55f00;p=chaz%2Ftar diff --git a/ChangeLog b/ChangeLog index 93c5826..bfb4a6a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,7 +1,170 @@ +2005-11-09 Sergey Poznyakoff + + * 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 + and Paul Eggert + + * 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 + + 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 + + * src/xheader.c (strtoimax, strtoumax): Remove decls; now done + in system.h. + +2005-11-06 Sergey Poznyakoff + + * doc/tar.texi: Properly document incremental dumps + * doc/value.texi: Likewise. + * doc/snapshot.texi: Likewise. + +2005-11-05 Sergey Poznyakoff + + 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 + + * 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 + + * 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 + + * 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 * src/compare.c (diff_dumpdir): Pass a valid device number to - get_directory_contents. + get_directory_contents. * THANKS: Add John Thomas McDole