5f060c2025Add new test cases
Sergey Poznyakoff
2005-11-10 13:00:11 +00:00
d1867fd76c(xhdr_tab): New keyword GNU.volume.filename.
Sergey Poznyakoff
2005-11-10 12:59:38 +00:00
813aa07a89Do not pad compressed output if it goes to stdout.
Sergey Poznyakoff
2005-11-10 12:59:25 +00:00
9a42d94543(sparse_dump_region): Call mv_size_left. (sparse_dump_file): Enclose the loop in mv_begin/mv_end.
Sergey Poznyakoff
2005-11-10 12:59:13 +00:00
b9b37ee191(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.
Sergey Poznyakoff
2005-11-10 12:58:43 +00:00
f3a24a7a51(AT_KEYWORDS): Improve to allow executionof related tests in groups.
Sergey Poznyakoff
2005-11-09 13:09:44 +00:00
e1286c1989(xhdr_tab): Support for new GNU keywords.
Sergey Poznyakoff
2005-11-09 13:09:25 +00:00
5eecc4c994(decode_options): Allow to use --multi-volume and --label with pax archives.
Sergey Poznyakoff
2005-11-09 13:09:12 +00:00
cb3d8b0db9Use mv_.* functions where necessary.
Sergey Poznyakoff
2005-11-09 13:08:55 +00:00
52429bb956Use mv_.* functions uniformly instead of fiddling with the global variables.
Sergey Poznyakoff
2005-11-09 13:08:42 +00:00
7200f4f5f7(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.
Sergey Poznyakoff
2005-11-09 13:08:13 +00:00
737b0251deRewritten in a more modular fashion to provide GNU extensions (multi-volume archives and archive labels) in pax format. (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
Sergey Poznyakoff
2005-11-09 13:07:45 +00:00
57c2124d68* 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
Paul Eggert
2005-11-08 07:20:02 +00:00
06379466c1(xheader_store): Last arg is void const *.
Paul Eggert
2005-11-07 05:11:55 +00:00
3eec6b3f46(xheader_store): Last arg here is void const *, too.
Paul Eggert
2005-11-07 05:11:40 +00:00
60f8dd83b8(struct xhdr_tab.coder): Last arg is void const *, not void *, to avoid create.c warning from GCC "passing argument 3 of 'xheader_store' discards qualifiers from pointer target type". (dummy_coder, atime_coder, gid_coder, gname_coder, linkpath_coder): (ctime_coder, mtime_coder, path_coder, size_coder, uid_coder): (uname_coder, sparse_size_coder, sparse_numblocks_coder): (sparse_offset_coder, sparse_numbytes_coder, dumpdir_coder): Likewise.
Paul Eggert
2005-11-07 05:03:09 +00:00
cfbf693855* tests/truncate.at: Create files whose time stamps must fall on 1-second boundaries. This prevents tests from failing on hosts like Solaris 8 that have nanosecond-resolution file time stamps. * tests/update.at: Likewise.
Paul Eggert
2005-11-07 04:03:29 +00:00
374ae10d39(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.
Sergey Poznyakoff
2005-11-07 02:52:58 +00:00
e20e79e7ff(struct tar_stat_info.dumpdir): New member.
Sergey Poznyakoff
2005-11-07 02:50:25 +00:00
f865597c89Incremental options are allowed with --format=pax (tar_stat_destroy): Free dumpdir
Sergey Poznyakoff
2005-11-07 02:50:14 +00:00
1b9c48d934(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.
Sergey Poznyakoff
2005-11-07 02:49:45 +00:00
08a8d2dec6(dumpdir_size, get_gnu_dumpdir): New functions. (purge_directory): Use stat_info.dumpdir instead of getting its value explicitely.
Sergey Poznyakoff
2005-11-07 02:48:51 +00:00
588232f859(dumpdir_size,get_gnu_dumpdir) (xheader_string_begin,xheader_string_add) (xheader_string_end): New functions.
Sergey Poznyakoff
2005-11-07 02:48:08 +00:00
4c4c5a4dc1Minor language and white space fixes.
Paul Eggert
2005-11-07 00:25:52 +00:00
d144e7c217* tests/truncate.at: Use -H pax to preserve full time stamp resolution. This prevents tests from failing on hosts like Solaris 8 that have nanosecond-resolution file time stamps. * tests/update.at: Likewise.
Paul Eggert
2005-11-06 23:29:30 +00:00
ef9ad717ba* src/xheader.c (strtoimax, strtoumax): Remove decls; now done in system.h.
Paul Eggert
2005-11-06 22:48:34 +00:00
ef981aae38Never skip the test. It should work on any filesystem
Sergey Poznyakoff
2005-11-05 15:55:38 +00:00
36f1d689e4Sleep 1 sec before creating second file.
Sergey Poznyakoff
2005-11-05 15:55:19 +00:00
1e304fc5fd(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.
Sergey Poznyakoff
2005-11-05 15:55:05 +00:00
71976fa77eAdd Eric Blake
Sergey Poznyakoff
2005-11-04 07:38:44 +00:00
c2552c6c40Fix 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
Sergey Poznyakoff
2005-11-04 07:38:23 +00:00
b272b3e2cf* 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.
Paul Eggert
2005-11-02 23:03:39 +00:00
64aea5de53If file `.bootstrap' exists in the cwd and is readable, prepend its contents to the command line
Sergey Poznyakoff
2005-10-28 09:29:16 +00:00
391c6f6bdbAdd John Thomas McDole
Sergey Poznyakoff
2005-10-28 09:28:39 +00:00
9684c2728d(diff_dumpdir): Pass a valid device number to get_directory_contents.
Sergey Poznyakoff
2005-10-28 09:28:20 +00:00
15b75f848e(print_header): If show_stored_names_option is given, list member names as stored in the archive. Patch proposed by Erik Cumps <erik.cumps@icos.be>
Sergey Poznyakoff
2005-09-28 20:41:38 +00:00
2a25112552(show_stored_names_option): New variable
Sergey Poznyakoff
2005-09-28 20:41:10 +00:00
ddb0f96f00New option --test-label tests the archive volume label. The option proposed by Wouter Verhelst
Sergey Poznyakoff
2005-09-28 19:41:40 +00:00
13aead50a8(all_names_found): If test_label_option is set return true
Sergey Poznyakoff
2005-09-28 19:41:15 +00:00
8f1d2fd9c3(print_header): Special handling if test_label_option is set
Sergey Poznyakoff
2005-09-28 19:41:00 +00:00
a274294656(test_label_option): New variable
Sergey Poznyakoff
2005-09-28 19:40:41 +00:00
63f64e4aaf* tests/Makefile.am (clean-local): Don't attempt to run $(TESTSUITE) if it doesn't exist. Problem reported by Eric Blake.
Paul Eggert
2005-09-21 19:26:12 +00:00
3209329337Don'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.
Paul Eggert
2005-09-17 06:41:55 +00:00
2f800ce3fbMerge 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.
Paul Eggert
2005-09-16 07:03:44 +00:00
1f4437aa66(list_dumpdir): New function.
Sergey Poznyakoff
2005-09-14 13:25:41 +00:00
8952196bc1(list_archive): Use list_dumpdir() to display GNUTYPE_DUMPDIR blocks. Do that only if two or more -v options are given.
Sergey Poznyakoff
2005-09-14 13:23:38 +00:00
9093ca15d8(list_dumpdir): New function. Used to dump contents of GNUTYPE_DUMPDIR blocks.
Sergey Poznyakoff
2005-09-14 13:23:12 +00:00
76efed4ca4hard link patches
Paul Eggert
2005-09-12 18:46:38 +00:00
a2b6327edaAdjust 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.
Paul Eggert
2005-09-12 18:46:26 +00:00
af5d05729aTreat fishy-looking hard links like fishy-looking symlinks. (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.
Paul Eggert
2005-09-12 18:45:59 +00:00
3070fff7d7Mention gzip version problems, and valgrind.
Paul Eggert
2005-09-03 21:00:10 +00:00
6bb5c17aea* README-alpha: Modernize description of software required for developers.
Paul Eggert
2005-09-03 20:54:59 +00:00
a5375b618c(purge_directory): Do not dereference symbolic links. Bug reported by Ralph Corderoy <ralph@inputplus.co.uk> and David Brown <davidb@davidb.org>
Sergey Poznyakoff
2005-09-03 10:27:13 +00:00