+2006-06-20 Sergey Poznyakoff <gray@gnu.org.ua>
+
+ * src/common.h (struct name.explicit): Remove
+ Use variable names in all declarations
+ (name_scan): Remove second argument
+ * src/delete.c: Remove second argument from calls to name_scan
+ * src/update.c: Likewise
+ * src/incremen.c (procdir): Use is_individual_file to check for
+ files explicitely specified in the command line. Fixes bug
+ reported by Dat Head on 19 Jun 2006 (descending into mountpoints
+ with --one-file-system in use)
+ * src/misc.c (maybe_backup_file): Second argument is bool
+ * src/names.c (name_next_elt): Call register_individual_file
+ (namelist_match): Remove third argument
+ (name_match): Change return type to bool
+ (name_scan): Remove second argument
+ * src/sparse.c (pax_dump_header): Store original sparse file name
+ in GNU.sparse.name variable. The name field in the ustar header
+ now contains generated name (%d/GNUSparseFile.%p/%f), so that
+ non-pax-aware tars won't extract the file under the original
+ filename.
+ * src/xheader.c (GNU.sparse.name): New variable for storing sparse
+ file name.
+
+2006-06-13 Sergey Poznyakoff <gray@gnu.org.ua>
+
+ * doc/Makefile.am (check-options): Expand macros before grepping
+ in $(info_TEXINFOS)
+ * doc/rendition.texi (FIXME) [!PROOF_FOOTNOTED]: Enclose in a
+ cartouche
+ * doc/tar.texi: Define op as codeindex. Use special macros to
+ populate it
+ Consequently prefer @dfn{long options} over @dfn{mnemonic
+ options}.
+ Document --unquote, --no-unquote
+ (Short Option Summary): Build a table of cross-references to the
+ corresponding long options.
+ (Using Multiple Tapes,Multi-Volume Archives): Rewritten
+
+ * doc/value.texi (xopindex,opsummary): New macros
+
+ * doc/Makefile.am (check-options): New goal
+ * doc/tar.texi: Update
+ * src/tar.c: Implement --overwrite-dir option (long ago
+ documented).
+
+2006-06-12 Sergey Poznyakoff <gray@gnu.org.ua>
+
+ * doc/tar.texi: Document better the --totals option
+ * NEWS: Update
+ * src/buffer.c (total_blocks_deleted): New variable
+ (set_start_time): Set volume_start_time and last_stat_time as well
+ (set_volume_start_time): New function
+ (compute_duration): Do not call set_start_time, update
+ last_stat_time instead. Use it in calculation instead of
+ start_time, which is now set only once, upon startup.
+ (print_total_written): Removed.
+ (print_total_stats): New function for printing byte/speed statistics.
+ (_open_archive): Detect attempts to update compressed archives.
+ (_gnu_flush_write): Always update prev_written.
+ (open_archive): Call set_volume_start_time.
+ * src/common.h (volume_start_time,last_stat_time): New globals
+ (print_total_written): Replaced with:
+ (print_total_stats): New function
+ * src/delete.c (records_skipped): Remove static qualifier, the
+ variable is used by print_total_stats in buffer.c
+ * src/extract.c (check_time): Use volume_start_time when checking
+ for timestamp plausability.
+ * src/tar.c: (options, parse_opt): Allow for optional argument to
+ the --totals option, which specifies a signal upon delivery of which
+ the statistics must be output.
+ (main): Call print_total_stats if total_option is set.
+
+2006-06-11 Sergey Poznyakoff <gray@gnu.org.ua>
+
+ * src/xheader.c (xheader_set_single_keyword): Fix typo.
+ (decode_time): Avoid using gotos.
+
+ * doc/mastermenu.el: New file
+ * doc/Makefile.am (master-menu): New goal
+ * doc/tar.texi: Update master menu
+
+2006-06-10 Sergey Poznyakoff <gray@gnu.org.ua>
+
+ * doc/tar.texi: Remove leftover include
+
+2006-06-09 Sergey Poznyakoff <gray@gnu.org.ua>
+
+ * doc/Makefile.am (tar_TEXINFOS): Add intern.texi
+ (EXTRA_DIST): Remove convtexi.pl, add texify.sed
+ * doc/intern.texi: New file
+ * doc/convtexi.pl: Remove
+ * doc/texify.sed: Auxiliary script to convert ../src/tar.h to
+ header.texi
+ * doc/rendition.texi: Fix typo
+ * doc/tar.texi: Update
+ * src/tar.h: Fix indentation, introduce end-of-format marker for
+ texify.sed
+
+ * THANKS: Add Jason Armistead
+ * doc/tar.texi: Update
+ * NEWS: Update
+ * src/buffer.c: Implement more flexible checkpoint style
+ * src/common.h (checkpoint_option): Change type to unsigned
+ (checkpoint_style): New variable.
+ * src/tar.c: --checkpoint takes an optional argument specifying
+ number of records between two successive checkpoints (proposed
+ by Jason Armistead on 2004-06-22). Optional dot starting the
+ argument means "print dots instead of textual checkpoints".
+ (tar_help): New function
+ * src/transform.c: Minor fixes.
+
+2006-06-08 Sergey Poznyakoff <gray@gnu.org.ua>
+
+ * gnulib.modules: Add mkdtemp
+ * doc/dumpdir.texi: New file
+ * doc/Makefile.am (tar_TEXINFOS): Add dumpdir.texi
+ * doc/tar.texi: Document dumpdir format
+ * src/incremen.c (dumpdir_locate,obstack_code_rename):
+ (purge_directory): Re-implement renaming. Introduce
+ 'X' control code.
+ (make_tmp_dir_name): Remove
+
+ * src/transform.c (set_transform_expr,_transform_name_to_obstack):
+ Implement NUMBER flag.
+ (add_char_segment): Fix length assignement
+
+ * doc/tar.texi: Update
+
+2006-06-07 Sergey Poznyakoff <gray@gnu.org.ua>
+
+ * src/transform.c (transform_name_fp): Run fun even if
+ _transform_name_to_obstack returns false.
+ (_transform_name_to_obstack,set_transform_expr): Implement GNU
+ extension case conversion operations.
+
+ * doc/tar.texi (transform): Document the option.
+
+2006-06-02 Sergey Poznyakoff <gray@gnu.org.ua>
+
+ * NEWS: Update
+ * src/common.h (set_transform_expr): New function
+ * tests/Makefile.am: Add incr04.at
+ * tests/testsuite.at: Likewise
+ * tests/incr04.at: New test case
+ * tests/long01.at: Fix typo in the comment
+ * tests/multiv04.at: Use genfile --files-from
+
+ (Above changes need new genfile.c from paxutils)
+
+ * TODO: Update
+ * NEWS: Update
+ * doc/tar.texi: Update
+ * src/transform.c: New file
+ * src/Makefile.am (tar_SOURCES): New module transform.c
+ * src/common.h (transform_name, transform_name_fp): New functions
+ (show_stored_names_option): Renamed to
+ show_transformed_names_option. All uses changed
+ * src/create.c (dump_file0): Transform file name
+ * src/extract.c (extract_archive): safer_name_suffix and
+ stripped_prefix_len are now called by decode_header
+ * src/list.c (print_header): Update displayable name selection.
+ * src/tar.c: New option --transform
+ New option --show-transformed-names generalizes
+ --show-stored-names. The latter is retained as an alias.
+
+2006-05-31 Sergey Poznyakoff <gray@gnu.org.ua>
+
+ * src/incremen.c (make_directory): Fix initialization of struct
+ directory.
+
+2006-05-25 Sergey Poznyakoff <gray@gnu.org.ua>
+
+ * doc/tar.texi: Document use of globbing patterns.
+ * src/tar.c (parse_opt): Add comment before --preserve case.
+
+2006-05-24 Sergey Poznyakoff <gray@gnu.org.ua>
+
+ * NEWS: Update
+ * doc/tar.texi: Update
+ * configure.ac (AM_INIT_AUTOMAKE): Use tar-ustar option. Raise
+ version requirement to 1.9
+ * src/common.h (struct name): Refactured
+ (warn_regex_usage): New variable.
+ (dump_file): First argument is const char*.
+ (name_init,name_add): Removed
+ (name_add_name,name_add_dir): New functions
+ (name_next): Return const char*.
+ * src/create.c: (dump_file,dump_file0): First argument is const
+ char*. All callers updated.
+ * src/names.c: Rewritten handling of member names in the command
+ line. Tar no longer attempts to guess globbing patterns, instead
+ it relies on --wildcard option.
+ (init_names): Removed.
+ (struct name_elt): New structure.
+ (name_array): Change type to struct name_elt. All references updated
+ (name_add_name,name_add_dir): New functions
+ (name_next_elt): New function
+ (name_next): Rewritten using name_next_elt.
+ (namelist_match): Rewritten pattern matching using
+ exclude_fnmatch.
+ (names_notfound): Warn if globbing patterns were used without
+ --wildcards option
+ * src/tar.c (options): Move globbing-related options into a
+ separate group. Set -l as an alias to --check-links, as required
+ by UNIX98
+ (struct tar_args): New fields
+ wildcards,matching_flags,include_anchored
+ (MAKE_EXCL_OPTIONS,MAKE_INCL_OPTIONS): New macros
+ (parse_opt): Use x2nrealloc to grow archive_name_array.
+ Use MAKE_EXCL_OPTIONS,MAKE_INCL_OPTIONS to create appropriate
+ fnmatch options, and name_add_name,name_add_dir to handle member
+ name and -C arguments.
+ (decode_options): Likewise
+ (main): Remove call to init_names.
+
+ * tests/append.at, tests/append01.at, tests/extrac01.at,
+ tests/options.at, tests/options02.at, tests/same-order01.at,
+ tests/same-order02.at: Make AT_SETUP more readable.
+
+2006-05-23 Sergey Poznyakoff <gray@gnu.org.ua>
+
+ * src/buffer.c (change_tape_menu): Fix typo (uninitialized
+ variable) introduced yesterday.
+
+2006-05-22 Sergey Poznyakoff <gray@gnu.org.ua>
+
+ * doc/tar.texi: Use @var{file_name} instead of @var{file name}
+ * src/buffer.c (change_tape_menu): Break the loop after obtaining
+ new archive name. Check for empty input line.
+
+2006-05-15 Sergey Poznyakoff <gray@gnu.org.ua>
+
+ * tests/atlocal.in (XFAILFILE): New variable
+ * tests/version.at: Create $XFAILFILE on failure
+ * tests/testsuite.at (AT_TAR_CHECK): Declare expected failure if
+ $XFAILFILE exists.
+
+2006-05-13 Sergey Poznyakoff <gray@gnu.org.ua>
+
+ * THANKS: Update
+ * src/buffer.c (read_header0): Use read_header_primitive to avoid
+ clubbering current_tar_info. All callers updated.
+ * src/common.h (read_header_primitive): New function
+ * src/extract.c (extract_volhdr): New function
+ (prepare_to_extract): Use extract_volhdr as extractor for volume
+ names.
+ * src/list.c (read_header_primitive): New function
+ (read_header): Front end for read_header_primitive
+ * tests/chtype.at: New file
+ * tests/volsize.at: New file
+ * tests/Makefile.am (TESTSUITE_AT): Add chtype.at, volsize.at
+ (check-full): New target.
+ * tests/atlocal.in (TEST_DATA_URL,STAR_DATA_URL)
+ (STAR_TESTSCRIPTS): Provide default values.
+ (tarball_prereq): New function
+ * tests/testsuite.at (AT_TARBALL_PREREQ): New defun
+ (AT_STAR_PREREQ): Rewrite using tarball_prereq
+ Include chtype.at and volsize.at
+ * tests/volume.at: Add keywords.
+
+ * tests/star/gtarfail.at, tests/star/gtarfail2.at,
+ tests/star/multi-fail.at, tests/star/pax-big-10g.at,
+ tests/star/ustar-big-2g.at, tests/star/ustar-big-8g.at
+ (AT_STAR_PREREQ): Provide md5 sum.
+
+ * lib/.cvsignore: Update
+
2006-05-08 Sergey Poznyakoff <gray@gnu.org.ua>
* tests/testsuite.at (AT_SORT_PREREQ, AT_UNPRIVILEGED_PREREQ): New