Commit Graph
1018 Commits
Author SHA1 Message Date
Paul Eggert e86e864544 Update copyright year to 2006. 2006-02-07 20:55:49 +00:00
Sergey Poznyakoff cf1e8b086b (sparse_map_decoder): Fix misleading diagnostic. 2006-02-07 13:57:41 +00:00
Sergey Poznyakoff 6c28751ca7 (struct tar_stat_info): New members is_dumpdir and skipped. 2006-01-31 11:28:45 +00:00
Sergey Poznyakoff 0e848e7b2c (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
2006-01-31 11:28:32 +00:00
Sergey Poznyakoff ab8a184336 (get_gnu_dumpdir): Static
(is_dumpdir): New function
(purge_directory): Use is_dumpdir
2006-01-31 11:28:07 +00:00
Sergey Poznyakoff 48ce2946d9 (prepare_to_extract): Use is_dumpdir member to check for dumpdirs. 2006-01-31 11:27:41 +00:00
Sergey Poznyakoff dde5c2391b (get_gnu_dumpdir): Remove prototype
(is_dumpdir): New function
2006-01-31 11:27:14 +00:00
Sergey Poznyakoff a349bd80b9 (decode_options): Refuse using --delete with compression options 2006-01-21 23:39:20 +00:00
Sergey Poznyakoff 514ea6ead4 Implement new options --quoting-style, --quote-chars and --no-quote-chars. 2006-01-18 15:36:15 +00:00
Sergey Poznyakoff 288315211a Update invocations of name_scan. 2005-12-14 12:58:56 +00:00
Sergey Poznyakoff dacac1b6be (name_scan): Change prototype. 2005-12-14 12:58:34 +00:00
Sergey Poznyakoff 85cf996677 (name_scan): Take an additional argument requesting the exact matching. 2005-12-14 12:58:22 +00:00
Sergey Poznyakoff b794387cba (addname,add_hierarchy_to_namelist): Initialize explicit member appropriately. 2005-12-13 13:32:29 +00:00
Sergey Poznyakoff 91abd3da82 (procdir): If name_scan() returns something, check if it was explicitely given in the command line 2005-12-13 13:32:14 +00:00
Sergey Poznyakoff 5b3dc9e3dd (struct name): New member explicit'. Remove unused member isdir' 2005-12-13 13:31:56 +00:00
Sergey Poznyakoff 86ef91adff 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-12 22:55:39 +00:00
Sergey Poznyakoff 1cdb7823ae (options,parse_opt): New options --delay-directory-restore and --no-delay-directory-restore 2005-12-11 14:12:12 +00:00
Sergey Poznyakoff e73e4428e2 (directories_first): Replaced by delay_directory_restore_option. All uses changed. 2005-12-11 14:11:41 +00:00
Sergey Poznyakoff d2dd096f1d (delay_directory_restore_option): New global. 2005-12-11 14:11:16 +00:00
Sergey Poznyakoff f03fc1e078 (read_directory_file): Fix format string 2005-12-09 10:05:02 +00:00
Sergey Poznyakoff 273810a9f7 (to_chars_subst): Remove unused variable
Make sure useful result code is returned.
2005-12-09 10:04:52 +00:00
Sergey Poznyakoff 69abc76d13 (set_file_atime): Add prototype. 2005-12-09 10:04:38 +00:00
Sergey Poznyakoff 12cd9cea81 (open_archive): Add default case to shut up gcc. 2005-12-09 10:04:26 +00:00
Sergey Poznyakoff a169d65b94 (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-08 15:41:28 +00:00
Sergey Poznyakoff 89e65f936d (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
2005-12-08 15:41:11 +00:00
Sergey Poznyakoff 2e7a943d0e (options): Add --restrict option. Use macros for option grouping.
(license): Print full list of copyright years
2005-12-06 23:15:41 +00:00
Sergey Poznyakoff 4ba3b41e2e (sys_exec_info_script): The script can supply new
archive name to use by writing it to file descriptor 3.
2005-12-06 23:15:14 +00:00
Sergey Poznyakoff 4669306854 (sys_exec_info_script): Update delaration
(restrict_option): New global
2005-12-06 23:14:56 +00:00
Sergey Poznyakoff ffc4fb7bdd (new_volume): Update invocation
(change_tape_menu): New function. Disable '!' command if given
--restrict option.
2005-12-06 23:14:44 +00:00
Sergey Poznyakoff f018d69aac (archive_format_string): Remove static qualifier.
(subcommand_string): New function.
2005-12-06 16:32:37 +00:00
Sergey Poznyakoff ea019af0cc (sys_exec_info_script): New function. 2005-12-06 16:32:17 +00:00
Sergey Poznyakoff 0251059267 (archive_format_string,subcommand_string,sys_exec_info_script): New prototypes. 2005-12-06 16:32:05 +00:00
Sergey Poznyakoff 13d43c302f (new_volume): Use sys_exec_info_script() instead of system(). 2005-12-06 16:31:49 +00:00
Sergey Poznyakoff ca43ee9769 Obtain root_device here, to make sure it works correctly with -C. 2005-12-01 14:50:57 +00:00
Sergey Poznyakoff ae00dc0d37 (purge_directory): Skip the member and return if the archive is not in incremental format. 2005-12-01 12:51:20 +00:00
Sergey Poznyakoff 5249a99377 Fix restoring of directory timestamps from
incremental archives.
(directories_first): New variable.
(prepare_to_extract): Set directories_first
(extract_archive): Call apply_nonancestor_delayed_set_stat() only
if not extracting from an incremental archive
2005-12-01 12:50:58 +00:00
Paul Eggert f8f4f49011 (parse_opt): Remove bogus \n in new atime diagnostic. 2005-11-29 19:41:34 +00:00
Paul Eggert aa976a5170 * NEWS: New option --atime-preserve=system, which uses O_NOATIME.
* configure.ac: Prefer AC_CHECK_HEADERS_ONCE to AC_CHECK_HEADERS.
Check for stropts.h and sys/filio.h too, for _FIOSATIME.
* doc/tar.texi: Change "modification time" to "data modification
time", "change time" to "status change time", and "filesystem" to
"file system", so that we use terminology consistent with POSIX.
Use American spacing rather than French for sentence ends.
"non-dependable" -> "undependable".
(Option Summary, Attributes): Explain better the pitfalls of the
--atime-preserve option, and suggest read-only mounts,loopback
mounts, and noatime mounts for older systems.
* doc/value.texi (op-atime-preserve-system): Renamed from
op-atime-preserver-system to fix a misspelling.
* src/common.h (enum atime_preserve): Use lower case for enum values.
* src/compare.c: Don't include utimens.h; no longer needed.
(diff_file): Use set_file_atime rather than utimens; avoid closing
diff_handle until after this, so that we can set the file time stamp
via the file descriptor rather than via its name.
* src/create.c: Don't include utimens.h; no longer needed.
(dump_regular_finish): Remove.  All callers now do its work inline.
(dump_dir): New arg FD.  All callers changed.
Use fdsavedir rather than savedir.
(unknown_file_error): Arg is a const pointer now.
(dump_file0): 2nd arg is a const pointer now.
Treat directories more like files, with respect to --atime-preserve.
For example, also warn if a directory changes while we are dumping it.
Prefer file descriptors to file names when retrieving/setting file
attributes; this saves path-resolution time and allows us to avoid
changing mtime/ctime on Solaris when restoring atime as root.
Use O_DIRECTORY when opening directories, to avoid some race conditions.
Do not reset atime if mtime has changed.  Report an error if
we cannot reset atime.

First cut at adding support for --atime-preserve=system.
* doc/tar.texi (Option Summary): First cut at documenting it.
All other uses of --atime-preserve changed to --atime-preserve=replace.
* doc/value.texi (op-atime-preserve-replace, op-atime-preserver-system):
New.
(op-atime-preserve): Mention METHOD.
* src/common.h (atime_preserve): New enum.
(atime_preserve_option): Now of the enum type rather than bool.
All uses changed.
* src/compare.c (diff_file): Read with O_NOATIME if asked for.
* src/create.c (dump_file0): Read regular and CTG files with O_NOATIME
if asked for.
* src/tar.c (usage): Mention new usage.
(parse_opt): Parse new usage.
2005-11-29 19:14:21 +00:00
Sergey Poznyakoff d543d2dbbd Remove prematurely introduced parts of new MV format support 2005-11-27 11:59:34 +00:00
Sergey Poznyakoff 9590e781c0 (xheader_format_name): Fix memory leak. 2005-11-26 19:31:02 +00:00
Sergey Poznyakoff b5775215d7 (confirm): Rewritten using rpmatch.
(decode_options): Minor optimizations
(main): Call stdopen() to ensure the first three descriptors are
open.
2005-11-11 12:17:10 +00:00
Sergey Poznyakoff 1ebdd88caf (xheader_format_name): Remove static
qualifier. Change last argument.
Correct buffer size calculation (allocated too much space).
(xheader_write): Increase global_header_count here ...
(xheader_write_global): ... instead of here
2005-11-11 00:26:09 +00:00
Sergey Poznyakoff b6d3432810 (write_extended): Change type and meaning of the first argument. All callers updated 2005-11-11 00:25:41 +00:00
Sergey Poznyakoff 1e8f6d41c4 (flush_read,flush_write): Functions, again.
(write_extended): Changed declaration
(xheader_format_name): New declaration
2005-11-11 00:25:20 +00:00
Sergey Poznyakoff 5b1df7b55e (flush_write,flush_read): Change data type.
(flush_archive): Compute actual buffer fill level before calling
low level function.
(close_archive): Call flush_archive again if the first call
resulted in partially filled buffer.
(try_new_volume): Rewritten handling of initial headers.
(add_chunk_header): New function. Write an additional header
before the continuation chunk. The purpose of the header is to
allow third-party tars to extract the member.
(simple_flush_write): Take an argument.
(_gnu_flush_write): Correctly handle partially filled buffers.
2005-11-11 00:24:52 +00:00
Sergey Poznyakoff d1867fd76c (xhdr_tab): New keyword GNU.volume.filename. 2005-11-10 12:59:38 +00:00
Sergey Poznyakoff 813aa07a89 Do not pad compressed output if it goes to stdout. 2005-11-10 12:59:25 +00:00
Sergey Poznyakoff 9a42d94543 (sparse_dump_region): Call mv_size_left.
(sparse_dump_file): Enclose the loop in mv_begin/mv_end.
2005-11-10 12:59:13 +00:00
Sergey Poznyakoff 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.
2005-11-10 12:58:43 +00:00
Sergey Poznyakoff e1286c1989 (xhdr_tab): Support for new GNU keywords. 2005-11-09 13:09:25 +00:00