Commit Graph

1698 Commits

Author SHA1 Message Date
Sergey Poznyakoff
8b471d55ff 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
2006-05-25 07:04:53 +00:00
Sergey Poznyakoff
c2c2df6c93 (dump_file,dump_file0): First argument is const char*. All callers updated. 2006-05-25 07:04:15 +00:00
Sergey Poznyakoff
cf857388c1 (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*.
2006-05-25 07:03:57 +00:00
Sergey Poznyakoff
fe72c79ad8 (change_tape_menu): Fix typo (uninitialized variable) introduced yesterday. 2006-05-23 07:10:34 +00:00
Sergey Poznyakoff
a46704b1bf (change_tape_menu): Break the loop after obtaining new archive name. Check for empty input line 2006-05-22 10:02:23 +00:00
Sergey Poznyakoff
6315d1700b (read_header_primitive): New function
(read_header): Front end for read_header_primitive
2006-05-13 11:57:52 +00:00
Sergey Poznyakoff
520104f5f8 (extract_volhdr): New function
(prepare_to_extract): Use extract_volhdr as extractor for volume
names.
2006-05-13 11:57:36 +00:00
Sergey Poznyakoff
34e5f66589 (read_header_primitive): New function 2006-05-13 11:57:20 +00:00
Sergey Poznyakoff
d2b3114a3b (read_header0): Use read_header_primitive to avoid clubbering current_tar_info. All callers updated. 2006-05-13 11:57:06 +00:00
Sergey Poznyakoff
a85cfd69e3 (find_directory_meta): Bugfix 2006-05-13 08:38:12 +00:00
Sergey Poznyakoff
67877f7de2 (collect_and_sort_names): Update dir_contents of the first non-fake name entry when in listed incremental mode. 2006-05-08 12:10:36 +00:00
Sergey Poznyakoff
c9e7465642 (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.
2006-05-08 12:10:14 +00:00
Sergey Poznyakoff
a0b4431f26 (rename_directory): New function 2006-05-08 12:09:46 +00:00
Sergey Poznyakoff
192ac7136a (rename_directory,append_incremental_renames): New functions. 2006-05-08 12:09:35 +00:00
Sergey Poznyakoff
729b91adb1 (try_new_volume): Attempt to continue if the name is apparently truncated in a GNU format volume. 2006-05-02 19:15:35 +00:00
Sergey Poznyakoff
783e58b394 (_open_archive): Remove unnecessary argument to check_compressed_archive. 2006-05-02 16:32:40 +00:00
Sergey Poznyakoff
f97d80335a (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.
2006-04-11 12:00:23 +00:00
Sergey Poznyakoff
90b061cf55 Minor changes 2006-04-11 11:59:54 +00:00
Sergey Poznyakoff
8300c820d5 (extract_dir): Fix toggling existing directory
permissions. Use parts of patch provided by Ian Jackson
<iwj@ubuntu.com>.
2006-04-11 11:59:40 +00:00
Sergey Poznyakoff
61dd37ec86 (options): Consistently begin help messages with a lowercase letter. 2006-03-13 09:42:55 +00:00
Paul Eggert
18486cf8d7 * 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.
2006-03-08 00:55:56 +00:00
Sergey Poznyakoff
631de61428 Fix copyright years 2006-02-20 10:01:47 +00:00
Sergey Poznyakoff
31ef7e3afb (split_long_name): Fix maximum length estimation. Patch by Jim Lowe. 2006-02-20 09:41:29 +00:00
Paul Eggert
f2bf9f2ffa 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-20 08:15:31 +00:00
Sergey Poznyakoff
476019d083 (new_volume): Prompt the user for archive name if unable to open next archive. 2006-02-19 21:12:50 +00:00
Sergey Poznyakoff
588f444efe (add_chunk_header): Free st.orig_file_name after calling finish_header() 2006-02-19 20:36:31 +00:00
Sergey Poznyakoff
36f41eabf4 (dump_file0): Restore file_count_links,accidentally removed on 2005-11-29. 2006-02-19 19:27:28 +00:00
Sergey Poznyakoff
780cf6f079 (tar_set_quoting_style): Provide second argument to the format spec: program_invocation_short_name. Reported by Jim Meyering. 2006-02-08 21:34:15 +00:00
Paul Eggert
84378fa99a * 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.
2006-02-07 23:51:37 +00:00
Paul Eggert
78b078b455 * 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.
2006-02-07 22:18:36 +00:00
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