Commit Graph

934 Commits

Author SHA1 Message Date
Sergey Poznyakoff
1ecd6672e1 (GNU.sparse.name): New variable for storing sparse file name. 2006-06-20 15:14:59 +00:00
Sergey Poznyakoff
ca2f855c90 (pax_dump_header): Store original sparse file name
in GNU.sparse.name variable. The name field in the ustar header
now contains generated name (%d/GNUSparseFile.%p/%f), so that
non-pax-aware tars won't extract the file under the original
filename.
2006-06-20 15:14:47 +00:00
Sergey Poznyakoff
693134a4e7 (name_next_elt): Call register_individual_file
(namelist_match): Remove third argument
(name_match): Change return type to bool
(name_scan): Remove second argument
2006-06-20 15:14:19 +00:00
Sergey Poznyakoff
90cec95580 (maybe_backup_file): Second argument is bool 2006-06-20 15:14:00 +00:00
Sergey Poznyakoff
b6fcb4ba8f (procdir): Use is_individual_file to check for
files explicitely specified in the command line. Fixes bug
reported by Dat Head on 19 Jun 2006 (descending into mountpoints
with --one-file-system in use)
2006-06-20 15:13:49 +00:00
Sergey Poznyakoff
6d1e9ab67e Remove second argument from calls to name_scan 2006-06-20 15:13:30 +00:00
Sergey Poznyakoff
300210aa15 (struct name.explicit): Remove
Use variable names in all declarations
(name_scan): Remove second argument
2006-06-20 15:13:20 +00:00
Sergey Poznyakoff
4c7a2b10b8 Implement --overwrite-dir option (long ago documented) 2006-06-12 22:50:29 +00:00
Sergey Poznyakoff
1e3568d947 (options, parse_opt): Allow for optional argument to
the --totals option, which specifies a signal upon delivery of which
the statistics must be output.
(main): Call print_total_stats if total_option is set.
2006-06-12 13:20:10 +00:00
Sergey Poznyakoff
b229a86dd7 (check_time): Use volume_start_time when checking
for the timestamp plausability.
2006-06-12 13:19:43 +00:00
Sergey Poznyakoff
05b250d4a4 (records_skipped): Remove static qualifier, the
variable is used by print_total_stats in buffer.c
2006-06-12 13:19:16 +00:00
Sergey Poznyakoff
42d180b24e (volume_start_time,last_stat_time): New globals
(print_total_written): Replaced with:
(print_total_stats): New function
2006-06-12 13:18:59 +00:00
Sergey Poznyakoff
8c10111c66 (total_blocks_deleted): New variable
(set_start_time): Set volume_start_time and last_stat_time as well
(set_volume_start_time): New function
(compute_duration): Do not call set_start_time, update
last_stat_time instead. Use it in calculation instead of
start_time, which is now set only once, upon startup.
(print_total_written): Removed.
(print_total_stats): New function for printing byte/speed statistics.
(_open_archive): Detect attempts to update compressed archives.
(_gnu_flush_write): Always update prev_written.
(open_archive): Call set_volume_start_time.
2006-06-12 13:18:26 +00:00
Sergey Poznyakoff
4ef056729e (xheader_set_single_keyword): Fix typo.
(decode_time): Avoid using gotos.
2006-06-11 20:06:46 +00:00
Sergey Poznyakoff
f1b1e9a476 Fix indentation, introduce end-of-format marker for texify.sed 2006-06-09 13:50:04 +00:00
Sergey Poznyakoff
5e14ef32c0 Minor fixes. 2006-06-08 22:35:52 +00:00
Sergey Poznyakoff
f9bd340c1b --checkpoint takes an optional argument specifying
number of records between two successive checkpoints (proposed
by Jason Armistead on 2004-06-22).Optional dot starting the
argument means "print dots instead of textual checkpoints".
(tar_help): New function
2006-06-08 22:35:39 +00:00
Sergey Poznyakoff
46defea70e (checkpoint_option): Change type to unsigned
(checkpoint_style): New variable.
2006-06-08 22:34:56 +00:00
Sergey Poznyakoff
5daab19c27 Implement more flexible checkpoint style 2006-06-08 22:34:38 +00:00
Sergey Poznyakoff
2d2e1d411e (dumpdir_locate,obstack_code_rename,purge_directory): Re-implement renaming. Introduce
X control code.
(make_tmp_dir_name): Remove
2006-06-08 14:43:05 +00:00
Sergey Poznyakoff
02c7b862a3 (add_char_segment): Fix length assignement 2006-06-08 09:50:56 +00:00
Sergey Poznyakoff
6be1349236 (set_transform_expr,_transform_name_to_obstack): Implement NUMBER flag. 2006-06-08 09:27:25 +00:00
Sergey Poznyakoff
8b2f4ad670 (_transform_name_to_obstack,set_transform_expr): Implement case conversion operations (GNU extension). 2006-06-07 14:57:10 +00:00
Sergey Poznyakoff
435edb824e (transform_name_fp): Run fun even if _transform_name_to_obstack returns false. 2006-06-06 21:33:25 +00:00
Sergey Poznyakoff
d79bbe0fd1 (set_transform_expr): New function 2006-06-02 15:05:52 +00:00
Sergey Poznyakoff
d75890c1b8 (options): Minor rewording 2006-06-02 10:54:05 +00:00
Sergey Poznyakoff
c58063c17a New option --transform
New option --show-transformed-names generalizes
--show-stored-names. The latter is retained as an alias.
2006-06-02 08:06:46 +00:00
Sergey Poznyakoff
ae7bd36423 (print_header): Update displayable name selection. 2006-06-02 08:05:04 +00:00
Sergey Poznyakoff
973b611290 (extract_archive): safer_name_suffix and stripped_prefix_len are now called by decode_header 2006-06-02 08:04:37 +00:00
Sergey Poznyakoff
29fb7356df (dump_file0): Transform file name 2006-06-02 08:03:53 +00:00
Sergey Poznyakoff
bbee515590 (transform_name, transform_name_fp): New functions
(show_stored_names_option): Renamed to
show_transformed_names_option. All uses changed
2006-06-02 08:03:08 +00:00
Sergey Poznyakoff
c8aa01c80c New file 2006-06-02 08:02:24 +00:00
Sergey Poznyakoff
43ba23114f (tar_SOURCES): New module transform.c 2006-06-02 08:01:44 +00:00
Sergey Poznyakoff
a23a95b4a0 (make_directory): Fix initialization of struct directory. 2006-05-31 12:45:14 +00:00
Sergey Poznyakoff
f20e08dd45 (parse_opt): Add comment before --preserve case. 2006-05-25 14:12:51 +00:00
Sergey Poznyakoff
3947e63c25 (options): Move globbing-related options into a
separate group. Set -l as an alias to --check-links, as required
by UNIX98
(struct tar_args): New fields
wildcards,matching_flags,include_anchored
(MAKE_EXCL_OPTIONS,MAKE_INCL_OPTIONS): New macros
(parse_opt): Use x2nrealloc to grow archive_name_array.
Use MAKE_EXCL_OPTIONS,MAKE_INCL_OPTIONS to create appropriate
fnmatch options, and name_add_name,name_add_dir to handle member
name and -C arguments.
(decode_options): Likewise
(main): Remove call to init_names.
2006-05-25 07:05:28 +00:00
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