X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=ChangeLog;h=b35e183b98446e02faa26900e0bea8e82003c8ae;hb=3209329337c87a102fa12d7eb60a3df323ba56c1;hp=39aefa1c96a0f097f5291e8523932fba700447d6;hpb=040b5ab5f969f9ee6c69a54bc284e2ff57b86556;p=chaz%2Ftar diff --git a/ChangeLog b/ChangeLog index 39aefa1..b35e183 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,155 @@ +2005-09-16 Paul Eggert + + 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 + + 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 + + * 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 + + * 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 + + * README-alpha: Modernize description of software required for + developers. + +2005-09-03 Sergey Poznyakoff + + * gnulib.modules: Add strdup + * src/incremen.c (purge_directory): Do not dereference symbolic + links. Bug reported by Ralph Corderoy and + David Brown + * tests/incr01.at: New test. + * tests/Makefile.am: Add incr01.at + * tests/testsuite.at: Likewise + * THANKS: Updated + +2005-08-17 Sergey Poznyakoff + + * src/incremen.c (read_directory_file): Use strtoumax to read + snapshot file contents. + (write_directory_file_entry): Use umaxtostr(). + +2005-07-31 Sergey Poznyakoff + + * 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 + + * doc/tar.texi: Fix typo. + +2005-07-07 Sergey Poznyakoff + + * tests/pipe.at: Pipe the output from `tar xfv' through sort. + +2005-06-25 Sergey Poznyakoff + + * 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 + + * 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 A sweep of the sparse code prompted by a bug report by Jim Meyering.