+2006-05-05 Sergey Poznyakoff <gray@gnu.org.ua>
+
+ Listed incremental backups: keep more information about
+ directories. Handle renamed directories more effectively
+ (initial implementation, more updates to follow).
+ Source tree before this point is tagged
+ alpha_1_15_90_incremental_1.
+
+ * NEWS: Update
+ * configure.ac: Raise version number to 1.15.91
+ * src/common.h (rename_directory,append_incremental_renames): New
+ functions.
+ * src/extract.c (rename_directory): New function
+ * src/incremen.c (struct directory.contents, flags): New members
+ (nfs,found,new): Remove. Replaced by appropriate bitmask values in
+ `flags' field. All uses updated.
+ (directory_meta_table): New table.
+ (hash_directory): Rename to hash_directory_name
+ (compare_directories): Rename to compare_directory_names
+ (hash_directory_meta,compare_directory_meta,find_directory_meta):
+ New functions
+ (compare_dirents): Removed
+ (note_directory): Get 7th argument: directory contents.
+ All callers updated
+ (dumpdir_locate,makedumpdir): New functions
+ (scan_directory): Rewritten. Use makedumpdir to create a sorted
+ dumpdir array. This makes the obstack argument unnecessary. Besides,
+ ALL_CHILDREN flag is set only for new directories.
+ (procdir): Change return type to struct directory. Return
+ immediately if the directory was already initialized. Discover
+ directory renames using directory_meta_table.
+ (append_incremental_renames): New function.
+ (read_directory_file, write_directory_file): Use new snapshot file
+ format.
+ * src/names.c (collect_and_sort_names): Update dir_contents of the
+ first non-fake name entry when in listed incremental mode.
+
+ * tests/incr03.at: New testcase
+ * tests/rename01.at: New testcase
+ * tests/rename02.at: New testcase
+ * tests/rename03.at: New testcase
+ * tests/Makefile.am: Add
+ incr03.at,rename01.at,rename02.at,rename03.at
+ * tests/testsuite.at: Likewise.
+ * tests/listed02.at: Update for the new behavior
+ * tests/multiv04.at (AT_KEYWORDS): Add missing incremental kw.
+
+2006-05-02 Sergey Poznyakoff <gray@gnu.org.ua>
+
+ * src/buffer.c (try_new_volume): Attempt to continue if the name
+ is apparently truncated in a GNU format volume.
+
+ * tests/comprec.at, tests/delete01.at, tests/delete02.at,
+ tests/delete04.at, tests/delete05.at, tests/extrac05.at,
+ tests/listed01.at, tests/multiv01.at, tests/multiv02.at,
+ tests/pipe.at, tests/same-order01.at, tests/same-order02.at,
+ tests/sparse01.at, tests/sparse03.at: Always use genfile --file,
+ this enables extra error checking.
+
+ * tests/multiv03.at: Attempt to extract a member with truncated
+ file name from the archive.
+
+ * src/buffer.c (_open_archive): Remove unnecessary argument to
+ check_compressed_archive.
+
+2006-04-25 Sergey Poznyakoff <gray@gnu.org.ua>
+
+ * tests/sparse01.at, tests/sparse02.at, tests/sparse03.at,
+ tests/sparsemv.at, tests/sparsemvp.at: Skip the test if the file
+ system does not support sparse files.
+ * doc/tar.texi (@copying): Remove the reference to not existing
+ invariant section.
+
+2006-04-11 Sergey Poznyakoff <gray@gnu.org.ua>
+
+ * src/extract.c (extract_dir): Fix toggling existing directory
+ permissions (Debian bug #361077). Use parts of patch provided by
+ Ian Jackson <iwj@ubuntu.com>.
+ * src/compare.c: Minor changes
+ * src/incremen.c (directory.new): New member
+ (note_directory,find_directory: Use make_directory to create
+ struct directory entries
+ (procdir): Avoid duplicating directories in the incremental
+ backup map.
+ * tests/Makefile.am (TESTSUITE_AT): Add extrac06.at
+ * tests/testsuite.at: Include extrac06.at
+
+2006-03-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> (trivial change)
+
+ * tests/atlocal.in (PATH): Add build-aux from the source tree,
+ not the build tree.
+
+2006-03-13 Sergey Poznyakoff <gray@gnu.org.ua>
+
+ * THANKS: Add Benno Schulenberg
+
+2006-03-13 Jim Meyering <jim@meyering.net>
+
+ * tests/listed02.at: Sort the two lines of stderr from the
+ first `tar -v --listed-incremental'. They would come out
+ reversed and provoke a test failure on a tmpfs
+ file system.
+
+2006-03-13 Benno Schulenberg <benno@nietvergeten.nl>
+
+ * doc/tar.texi: Minor fixes.
+ * src/tar.c (options): Consistently begin help messages with a
+ lowercase letter.
+
+2006-03-12 Sergey Poznyakoff <gray@gnu.org.ua>
+
+ * tests/Makefile.am (AM_CPPFLAGS): Define LOCALEDIR
+
+2006-03-07 Paul Eggert <eggert@cs.ucla.edu>
+
+ * src/buffer.c (record_buffer_aligned): New var.
+ (init_buffer): Use it to ensure that the buffer is aligned.
+ This doesn't result in any measurable performance improvement
+ on my host (Debian GNU/Linux 3.1 stable, with default block size),
+ but I assume it does help on some hosts.
+
+ * lib/.cvsignore: Sort.
+
+2006-03-04 Sergey Poznyakoff <gray@gnu.org.ua>
+
+ * tests/shortrec.at: Use -f - to read from stdin.
+
+2006-02-21 Sergey Poznyakoff <gray@gnu.org.ua>
+
+ * doc/tar.texi: Fix typo: --to-command instead of --to-program
+
+2006-02-20 Paul Eggert <eggert@cs.ucla.edu>
+
+ * tests/multiv04.at (split directory members in a MV archive):
+ Don't use %X in an awk printf format; this doesn't work with
+ Solaris 10 /usr/bin/awk. Use %x instead.
+
+2006-02-20 Sergey Poznyakoff <gray@gnu.org.ua>
+
+ * src/create.c (split_long_name): Fix maximum length estimation.
+ Patch by Jim Lowe.
+ * tests/Makefile.am (lustar01.at,lustar02.at,lustar03.at): New
+ tests.
+ * tests/atlocal.in: Add build-aux to the PATH
+ * tests/long01.at: Remove mkhier, use AT_TAR_MKHIER instead
+ * tests/longv7.at: Reword test title
+ * tests/lustar01.at: New test
+ * tests/lustar02.at: New test
+ * tests/lustar03.at: New test
+ * tests/testsuite.at (AT_TAR_MKHIER): New macro
+ (lustar01.at,lustar02.at,lustar03.at): New tests.
+
+2006-02-20 Paul Eggert <eggert@cs.ucla.edu>
+
+ * bootstrap: Don't claim lib/Makefile.am is generated automatically
+ from itself.
+
+ Avoid installation glitches on Solaris 8 with Sun C 5.4.
+ * lib/.cvsignore: Add system-ioctl.h.
+ * lib/Makefile.tmpl (noinst_HEADERS): Add system-ioctl.h.
+ * src/buffer.c: Include system-ioctl.h.
+ * src/compare.c: Likewise.
+ * src/delete.c: Likewise.
+ * src/system.c: Include <getline.h>, <setenv.h>.
+ * src/tar.c: Include <getline.h>.
+
+2006-02-19 Sergey Poznyakoff <gray@gnu.org.ua>
+
+ * src/buffer.c (add_chunk_header): Free st.orig_file_name after
+ calling finish_header().
+ (new_volume): Prompt the user for archive name if unable to open
+ next archive.
+
+ * src/create.c (dump_file0): Restore file_count_links,
+ accidentally removed on 2005-11-29.
+ * configure.ac: Raise version number to 1.15.90
+ * NEWS: Likewise.
+
+2006-02-08 Sergey Poznyakoff <gray@gnu.org.ua>
+
+ * src/tar.c (tar_set_quoting_style): Provide second argument to
+ the format spec: program_invocation_short_name. Reported by Jim
+ Meyering.
+
+2006-02-07 Paul Eggert <eggert@cs.ucla.edu>
+
+ * gnulib.modules: Add closeout, exitfial.
+ * lib/.cvsignore: Add __fpending.c, __fpending.h, closeout.c,
+ closeout.h.
+ * src/buffer.c: Incluse closeout.h.
+ (_open_archive): Use freopen rather than fopen, so
+ that stdlis is always either stdout or stderr. Use
+ close_stdout_set_file_name to report its name.
+ * src/tar.c: Include closeout.h and exitfail.h.
+ (parse_opt, usage): Call close_stdout as appropriate, to check for
+ write errors.
+ (decode_options): Exit with status TAREXIT_FAILURE, not 1.
+ (main): Set exit_failure, to exit with proper status on memory
+ allocation failure and the like.
+ Use close_stdout rather than rolling our own test.
+
+ * NEWS: --version now outputs copyright etc., to conform to the
+ GNU coding standards. Remove --license.
+ * gnulib.modules: Add version-etc-fsf.
+ * doc/tar.texi: Document the change.
+ * lib/.cvsignore: Add version-etc-fsf.c, version-etc.c, version-etc.h.
+ * scripts/Makefile.am (SED_CMD): Update PAKCAGE_NAME, not PACKAGE.
+ * scripts/backup.in: Remove --license. Change --version to conform
+ to GCS.
+ * scripts/restore.in: Likewise.
+ * scripts/backup.sh.in (license): Output briefer license in the
+ style of coreutils, for consistency with other changes.
+ * src/tar.c: Include <version-etc.h>.
+ (LICENSE_OPTION): Remove.
+ (options): Remove --license.
+ (license): Remove.
+ (parse_opt): Use version_etc instead of rolling it ourselves.
+ Remove --license.
+ * tests/version.at (tar --version): Check only the first line of
+ output.
+
+ * ChangeLog, NEWS, src/common.h, src/extract.c, src/incremen.c:
+ * src/list.c, src/names.c, src/tar.h, src/xheader.c:
+ Update copyright year to 2006.
+
+2006-02-07 Jim Meyering <jim@meyering.net>
+
+ * src/xheader.c (sparse_map_decoder): Fix misleading diagnostic.
+
+2006-01-31 Sergey Poznyakoff <gray@gnu.org.ua>
+
+ * src/common.h (get_gnu_dumpdir): Remove prototype
+ (is_dumpdir): New function
+ * src/extract.c (prepare_to_extract): Use is_dumpdir member to
+ check for dumpdirs.
+ * src/incremen.c (get_gnu_dumpdir): Static
+ (is_dumpdir): New function
+ (purge_directory): Use is_dumpdir
+ * src/list.c (list_archive): Use is_dumpdir
+ Do not wrap skip_member in mv_begin/mv_end, the function itself
+ takes care of it.
+ (decode_header): Set stat_info->is_dumpdir
+ (skip_member): Do nothing if skipped is true
+ * src/tar.h (struct tar_stat_info): New members is_dumpdir and skipped.
+
+2006-01-22 Sergey Poznyakoff <gray@gnu.org.ua>
+
+ * src/tar.c (decode_options): Refuse using --delete with
+ compression options.
+
+2006-01-18 Sergey Poznyakoff <gray@gnu.org.ua>
+
+ * NEWS: Updated.
+ * configure.ac (DEFAULT_QUOTING_STYLE): New configuration variable
+ * doc/tar.texi: Initial documentation for --quoting-style,
+ --quote-chars and --no-quote-chars option.
+ * src/tar.c: Implement new options --quoting-style, --quote-chars
+ and --no-quote-chars.
+
+2006-01-09 Paul Eggert <eggert@cs.ucla.edu>
+
+ * bootstrap: Default to pserver, and switch to cvs.sv.gnu.org,
+ to accommodate recent changes to the GNU CVS server.
+ * lib/.cvsignore: Add argp-pin.c, mkdirat.c, openat-priv.h.
+
+2005-12-14 Sergey Poznyakoff <gray@gnu.org.ua>
+
+ * src/names.c (name_scan): Take an additional argument requesting
+ exact matching.
+ * src/common.h (name_scan): Change prototype.
+ * src/delete.c, src/incremen.c, src/update.c: Update invocations
+ of name_scan.
+
+2005-12-13 Sergey Poznyakoff <gray@gnu.org.ua>
+
+ * src/common.h (struct name): New member `explicit'. Remove unused
+ member `isdir'.
+ * src/incremen.c (procdir): If name_scan() returns something,
+ check if it was explicitely given in the command line
+ * src/names.c (addname,add_hierarchy_to_namelist): Initialize
+ explicit member appropriately.
+
+ * src/incremen.c (procdir): If --one-file-system is given and a
+ directory is found to be on another device, *and* this directory
+ is explicitely given in the command line, then do not omit it.
+
+2005-12-11 Sergey Poznyakoff <gray@gnu.org.ua>
+
+ * NEWS: Update
+ * doc/tar.texi: Document --delay-directory-restore option.
+ (Configuring Help Summary): Document usage of ARGP_HELP_FMT
+ variable to customize help output.
+ * src/common.h (delay_directory_restore_option): New global.
+ * src/extract.c (directories_first): Replaced by
+ delay_directory_restore_option. All uses changed.
+ * src/tar.c (options,parse_opt): New options
+ --delay-directory-restore and --no-delay-directory-restore
+
+2005-12-09 Sergey Poznyakoff <gray@gnu.org.ua>
+
+ * src/buffer.c (open_archive): Add default case to shut up gcc.
+ * src/common.h (set_file_atime): Add prototype.
+ * src/create.c (to_chars_subst): Remove unused variable
+ Make sure useful result code is returned.
+ * src/incremen.c (read_directory_file): Fix format string
+ Thanks Eric Blake for reporting.
+
+2005-12-08 Sergey Poznyakoff <gray@gnu.org.ua>
+
+ * doc/tar.texi (Current status): Renamed to 'Changes' and moved to
+ appendices.
+ (Large or Negative Values): Rewritten
+ * src/common.h (gid_to_chars, major_to_chars, minor_to_chars)
+ (mode_to_chars, off_to_chars, size_to_chars, time_to_chars)
+ (uid_to_chars, uintmax_to_chars): Return bool
+ * src/create.c (gid_to_chars, major_to_chars, minor_to_chars)
+ (mode_to_chars, off_to_chars, size_to_chars, time_to_chars)
+ (uid_to_chars, uintmax_to_chars): Return bool
+ (to_chars): Return bool
+ (start_header): Check return values of convertion routines. Fail
+ if unable to store data in the header.
+
+2005-12-07 Sergey Poznyakoff <gray@gnu.org.ua>
+
+ * doc/tar.texi: Following the discussion with Karl Berry,
+ discontinue using @value{} substitutions for Texinfo commands.
+ Properly index all long options. Print a
+ separate long option index.
+ * doc/value.texi: Remove @set's
+
+ * doc/tar.texi: Update --info-script documentation
+ Resolve some more FIXMEs.
+ * scripts/dump-remind.in: Use TAR_VOLUME instead of reading volno
+ file.
+ * src/buffer.c (new_volume): Update invocation
+ (change_tape_menu): New function. Disable '!' command if given
+ --restrict option.
+ * src/common.h (sys_exec_info_script): Update declaration
+ (restrict_option): New global
+ * src/system.c (sys_exec_info_script): The script can supply new
+ archive name to use by writing it to file descriptor 3.
+ * src/tar.c (options): Add --restrict option. Use macros for
+ option grouping.
+ (license): Print full list of copyright years
+ * NEWS: Update
+
+2005-12-06 Eric Blake <ebb9@byu.net> (trivial changes)
+
+ * configure.ac (DENSITY_LETTER): Fix m4 overquoting.
+ * .cvsignore: Ignore .bootstrap.
+