]> Dogcows Code - chaz/tar/log
chaz/tar
14 years agoFix prefix length calculation in ustar mode.
Sergey Poznyakoff [Fri, 22 Jan 2010 15:52:42 +0000 (17:52 +0200)] 
Fix prefix length calculation in ustar mode.

* src/create.c (split_long_name): Fix prefix length
calculation.
(write_ustar_long_name): Improve ustar mode compatibility
with the Sun version.

15 years agoRewrite update algorithm.
Sergey Poznyakoff [Wed, 14 Oct 2009 20:26:52 +0000 (23:26 +0300)] 
Rewrite update algorithm.

* src/common.h (namebuf_t): New typedef.
(namebuf_create, namebuf_free)
(namebuf_name): New prototypes.
(remname): New prototype.
* src/misc.c (struct namebuf): New structure.
(namebuf_create, namebuf_free)
(namebuf_name): New functions.
* src/create.c (dup_dir0): Remove is_avoided_name
checks. This is taken care of in update_archive.
* src/incremen.c (scan_directory): Use namebuf
to produce full file names.
* src/names.c (nametail): Remove extra level of
indirection. All uses updated.
(avoided_name_table, add_avoided_name)
(is_avoided_name): Remove.
* src/update.c (update_archive): Change algorithm.
Instead of adding unmodified files to the avoided_name
table, create namelist so that it contains only
modified files.

* tests/Makefile.am: Add update01.at, update02.at
* tests/testsuite.at: Likewise.
* tests/update.at (AT_KEYWORDS): Add update00.

15 years agoMinor changes.
Sergey Poznyakoff [Wed, 14 Oct 2009 14:55:15 +0000 (17:55 +0300)] 
Minor changes.

* src/tar.c (main): Ignore SIGPIPE.
* src/system.c (sys_child_open_for_compress)
(sys_child_open_for_uncompress): Reset SIGPIPE
in child to default.
* tests/remfiles01.at: Avoid race conditions.
* tests/remfiles02.at: Likewise.

15 years agoBugfix.
Sergey Poznyakoff [Wed, 14 Oct 2009 14:51:19 +0000 (17:51 +0300)] 
Bugfix.

* src/buffer.c (_open_archive): Call guess_seekable_archive
only if the call to open_compressed_archive succeeded.

15 years agoImprove previous changes.
Sergey Poznyakoff [Sat, 10 Oct 2009 16:49:38 +0000 (19:49 +0300)] 
Improve previous changes.

* acinclude.m4: Fix typos.
* gnulib.modules: Add xvasprintf.
* src/common.h: Include xvasprintf.h.
* src/tar.c (options): Remove docstrings for --gzip, --bzip2,
--compress, --lzop, --lzma and --xz.
(tar_help_filter): Generate these using actual values of
*_PROGRAM constants.
(format_default_settings): Use xasprintf.
(parse_opt): Use *_PROGRAM defines instead of hardcoded
program names.

15 years agoAllow installers to specify alternative program names for compression programs.
Sergey Poznyakoff [Sat, 10 Oct 2009 14:29:18 +0000 (17:29 +0300)] 
Allow installers to specify alternative program names for compression programs.

This adds --with-gzip, --with-bzip2 etc. switches to the configure, so that
one can do, e.g. ./configure --with-bzip2=lbzip2 and have lbzip2 executed
whenever user calls `tar --bzip2'.

* acinclude.m4: New file.
* configure.ac: Add TAR_COMPR_PROGRAM invocations for
the supported compressors.
* src/buffer.c (magic): Use *_COMPRESSOR defines instead
of hardcoded program names.
* src/suffix.c (compression_suffixes): Likewise.

15 years agoMinor fix.
Sergey Poznyakoff [Fri, 9 Oct 2009 08:48:11 +0000 (11:48 +0300)] 
Minor fix.

* src/buffer.c (magic): Fix `xz' entry: add the name of the program.
* src/suffix.c (compression_suffixes, nsuffixes): Mark as static.

15 years agoProvide a way to explicitly set mtime for extended header ustar blocks.
Sergey Poznyakoff [Wed, 7 Oct 2009 18:08:29 +0000 (21:08 +0300)] 
Provide a way to explicitly set mtime for extended header ustar blocks.

* src/tar.c (struct textual_date): ts is a copy of the structure,
not a pointer to it. Date is a copy as well, hence the `const' is
taken away.
(get_date_or_file): Return 0/1 depending on success/failure.
Copy timestamp to the `ts' member. Store a copy of the string
in `date'.
(report_textual_dates): Report only if verbose_option is set,
but always free the list.
(expand_pax_option): New function.
(parse_opt): Preprocess the argument to xheader_set_option with
expand_pax_option.
(decode_options): Call report_textual_dates unconditionally.
* src/xheader.c (exthdr_mtime_option, exthdr_mtime)
(globexthdr_mtime_option, globexthdr_mtime): New statics.
(xheader_set_keyword_equal): handle exthdr.mtime and globexthdr.mtime.
(xheader_write): Override `t' argument if a corresponding
exthdr.mtime or globexthdr.mtime option is set.
* NEWS: Update
* doc/tar.texi: Document the changes.

15 years agoUse file's mtime as mtime for its extended header.
Sergey Poznyakoff [Wed, 7 Oct 2009 15:40:07 +0000 (18:40 +0300)] 
Use file's mtime as mtime for its extended header.

This makes two pax archives binary equivalent if they
have the same contents and care is taken to make extended
headers otherwise reproducible, e.g. by using:

  --pax-option=exthdr.name=%d/PaxHeaders/%f,atime:=0

Proposed by Michael D. Adams <mdmkolbe@gmail.com>.

* src/common.h (start_private_header): Take time_t as 3rd param.
(xheader_write): Likewise.
* src/create.c (start_private_header): Take time_t as 3rd param.
All callers updated.
(write_extended): Use file's mtime as mtime for its extended header,
Use current time stamp as mtime for global headers.
(xheader_write): Take time_t as 3rd param.

15 years agoFix bugs in handling the --remove-files option.
Sergey Poznyakoff [Wed, 7 Oct 2009 13:42:06 +0000 (16:42 +0300)] 
Fix bugs in handling the --remove-files option.

Make sure the files are deleted only if they were succesfully stored
to the archive.

* src/exit.c: New file.
* src/unlink.c: New file.
* src/Makefile.am (tar_SOURCES): Add exit.c and unlink.c.
* src/common.h: Include progname.h
(program_name): Remove global.
(records_written): New extern.
(queue_deferred_unlink, finish_deferred_unlinks): New prototypes.
(fatal_exit_hook): New extern.
* src/create.c (create_archive): Call finish_deferred_unlinks.
(dump_hard_link, dump_file0): Don't actually unlink the file,
queue it to deferred_unlinks instead.
* src/delete.c (records_written): Remove extern: declared in
common.h.
* src/extract.c (extract_archive): Set fatal_exit_hook.
(fatal_exit, xalloc_die): Move to exit.c
* src/system.c (sys_wait_for_child): Exit immediately
if the child dies or exits with a non-zero status.
(sys_child_open_for_compress)
(sys_child_open_for_uncompress): Use set_program_name,
instead of setting program_name directly.
* src/tar.c (main): Use set_program_name,
instead of setting program_name directly.

* tests/Makefile.am (TESTSUITE_AT): Add remfiles01.at
and remfiles02.at.
* tests/testsuite.at: Likewise.
* tests/gzip.at: Reflect the above changes.

15 years agoFix bug in OLDGNU format creation.
Sergey Poznyakoff [Sun, 4 Oct 2009 20:37:57 +0000 (23:37 +0300)] 
Fix bug in OLDGNU format creation.

See tests/append02.at for a detailed description

* src/common.h (MODE_FROM_HEADER): Take additional argument.
(mode_from_header): Likewise.
* src/create.c (mode_to_chars): Store all mode bits if
using OLDGNU_FORMAT. This reverses f4e4adea80a.
* src/list.c (decode_header): Use header mode field
to discern between GNU and OLDGNU formats.
(mode_from_header): Store unrecognized mode bits (from 10th up)
in the location pointed to by the third parameter.
* tests/append02.at: Update documentation and references.

15 years agoRestore extra help output.
Sergey Poznyakoff [Wed, 16 Sep 2009 08:52:34 +0000 (11:52 +0300)] 
Restore extra help output.

* src/tar.c (tar_list_quoting_styles): Change first argument to
struct obstack.
(format_default_settings): New function.
(show_default_settings)
(show_default_settings_fs): Removed.
(tar_help): Removed.
(tar_help_filter): New function.
(argp): Set help_filter.
(parse_opt): Fix error message.

15 years agoImprove command line option handling.
Sergey Poznyakoff [Tue, 8 Sep 2009 08:08:49 +0000 (11:08 +0300)] 
Improve command line option handling.

* gnulib.modules: Add argp-version-etc and progname,
use getopt-gnu instead of getopt.
* src/tar.c (HANG_OPTION, USAGE_OPTION)
(VERSION_OPTION): Remove.
(options): Remove corresponding options. Let argp
handle them.
(parse_opt): Likewise.
(_argp_hang): Removed.
(tar_authors): New variable.
(decode_options): Call argp_version_setup.
Do not use ARGP_NO_HELP flag in the call to argp_parse.

15 years agoAvoid overwriting exit_status with a value indicating less important condition.
Sergey Poznyakoff [Tue, 8 Sep 2009 08:04:48 +0000 (11:04 +0300)] 
Avoid overwriting exit_status with a value indicating less important condition.

* src/tar.c (set_exit_status): New function.
* src/common.h (set_exit_status): New prototype.
* src/compare.c: Use set_exit_status instead of
exit_status assignments.
* src/create.c: Likewise.
* src/misc.c: Likewise.

* src/system.c (wait_for_grandchild): Use auto variable
instead of the global exit_status.
* src/incremen.c (scan_directory): Use file_removed_diag
instead of stat_diag.

15 years agoAutomatic detection of seekable archives.
Sergey Poznyakoff [Tue, 8 Sep 2009 07:27:57 +0000 (10:27 +0300)] 
Automatic detection of seekable archives.

* src/buffer.c (guess_seekable_archive): New function.
(_open_archive): Call guess_seekable_archive for archives
open for reading.
(new_volume): Likewise.
* src/common.h (seek_option): New global.
* src/tar.c (options): New option --no-seek.
(parse_opt): --seek and --no-seek set seek_option,
not seekable_archive.
(decode_options): Initialize seek_option to -1.

* NEWS: Update.
* doc/tar.texi: Update.

15 years agoFix testcases.
Sergey Poznyakoff [Thu, 27 Aug 2009 17:12:14 +0000 (20:12 +0300)] 
Fix testcases.

* tests/extrac08.at: Ensure a predictable umask value.
* tests/xform-h.at (xform): do not depend on file name
ordering.

15 years agoFix interaction between --listed-incremental and -C
Sergey Poznyakoff [Thu, 13 Aug 2009 13:45:49 +0000 (16:45 +0300)] 
Fix interaction between --listed-incremental and -C

* src/incremen.c (read_directory_file): Execute eventual -C dir
after opening the snapshot file.
(collect_and_sort_names): Remove call to chdir_do
* tests/incr05.at, tests/incr06.at: Use relative file names for
snapshot files.

15 years agoUpdate for new exclude module from gnulib. Add testcases by Phil Proudman.
Sergey Poznyakoff [Wed, 12 Aug 2009 16:25:29 +0000 (19:25 +0300)] 
Update for new exclude module from gnulib. Add testcases by Phil Proudman.

* src/names.c (is_pattern): Remove.
(regex_usage_warning): Use fnmatch_pattern_has_wildcards instead of
is_pattern.
* src/tar.c: New option --exclude-backups.
(vcs_file_table, backup_file_table): New globals.
(add_exclude_array): New function.
* tests/exclude01.at, tests/exclude02.at,
tests/exclude03.at, tests/exclude04.at,
tests/exclude05.at: New testcases. Supplied by Phil Proudman.
* tests/Makefile.am (TESTSUITE_AT): Add new tests.
* tests/testsuite.at: Add new tests.
* THANKS: Update.

15 years agoRemove src/version.c (reappeared after migration to Git)
Sergey Poznyakoff [Sun, 9 Aug 2009 22:03:31 +0000 (01:03 +0300)] 
Remove src/version.c (reappeared after migration to Git)

15 years agoMinor fixes.
Sergey Poznyakoff [Sun, 9 Aug 2009 08:20:52 +0000 (11:20 +0300)] 
Minor fixes.

* src/misc.c (file_removed_diag): Set exit code to TAREXIT_DIFFERS.

15 years agoMinor fixes
Sergey Poznyakoff [Sat, 8 Aug 2009 19:33:16 +0000 (22:33 +0300)] 
Minor fixes

15 years agoFix handling of files removed during incremental dumps.
Sergey Poznyakoff [Sat, 8 Aug 2009 16:53:54 +0000 (19:53 +0300)] 
Fix handling of files removed during incremental dumps.

Changes to src/create.c and src/incremen.c are partially
based on patch from Alexander Peslyak <solar at openwall.com>.

The new testcases require paxutils commit f653a2b or later.

* src/common.h (struct name): New member `cmdline'.
(dump_file): Change type of the 2nd argument to bool.
(file_removed_diag, dir_removed_diag): New prototypes.
(addname): New argument `cmdline'.
(name_from_list): Change return value.
* src/create.c (dump_dir0, dump_dir): top_level is bool.
(create_archive): Update calls to name_from_list.
Take advantage of the name->cmdline to set top_level argument
during incremental backups.
(dump_file0): top_level is bool.
Do not bail out if a no-top-level file disappears during incremental
backup, use file_removed_diag instead.
(dump_filed): top_level is bool.
* src/incremen.c (update_parent_directory): Silently ignore
ENOENT.  It should have already been reported elsewhere.
(scan_directory): Use dir_removed_diag to report missing directories.
* src/misc.c (file_removed_diag, dir_removed_diag): New functions.
* src/names.c (name_gather): Set ->cmdname.
(addname): Likewise. All uses updated.
(name_from_list): Return struct name const *. All uses updated.

* tests/filerem01.at: New testcase.
* tests/filerem02.at: New testcase.
* tests/Makefile.am, tests/testsuite.at: Add filerem01.at, filerem02.at
* tests/grow.at, test/truncate.at: Use new syntax for genfile --run.

* NEWS: Update.
* doc/tar.texi: Minor fix.

15 years agoOptimize searches for directory structures by keeping a pointer to struct directory...
Sergey Poznyakoff [Sat, 8 Aug 2009 10:16:53 +0000 (13:16 +0300)] 
Optimize searches for directory structures by keeping a pointer to struct directory in struct name.

* src/common.h (struct name): New member `directory' replaces
dir_contents. Rearrange members.
(rebase_directory): Change signature.
(scan_directory): Change signature.
(name_fill_directory)
(directory_contents, safe_directory_contents): New prototypes.
(append_incremental_renames): Change signature.
(replace_prefix): New proto.
* src/compare.c (diff_dumpdir): Use directory_contents + scan_directory.
* src/create.c
* src/incremen.c (replace_prefix): Move to misc.c
(rebase_directory): Rewrite.
(scan_directory): Return pointer to struct directory.
(directory_contents, safe_directory_contents): New functions.
(get_directory_contents): Remove.
(name_fill_directory): New function.
(append_incremental_renames): Rewrite. This also fixes a memory leak.
* src/names.c (name_gather, addname): Reflect changes in struct name.
(add_hierarchy_to_namelist): Rewrite using name_fill_directory and
directory_contents.
(rebase_child_list): Update call to rebase_directory.
(collect_and_sort_names): Optimize

* src/misc.c (replace_prefix): New function.
* src/names.c (add_hierarchy_to_namelist): Use new get_directory_contents.

* tests/incr05.at: New test case.
* tests/incr06.at: New test case.
* tests/Makefile.am, test/testsuite.at: Add incr05.at and incr06.at.

* doc/Makefile.am (check-options): Improve rule.
* doc/tar.texi, NEWS: Update.

15 years agoMinor fixes.
Sergey Poznyakoff [Fri, 7 Aug 2009 19:40:06 +0000 (22:40 +0300)] 
Minor fixes.

* src/common.h (rebase_directory): New prototype.
* src/incremen.c (rebase_directory): Use replace_prefix.
* src/names.c (collect_and_sort_names): Abort if
hash_insert fails.

15 years agoImprove listed incremental dumps.
Sergey Poznyakoff [Fri, 7 Aug 2009 11:52:55 +0000 (14:52 +0300)] 
Improve listed incremental dumps.

The modified algorithm tries to avoid dumping the same
directory twice and ensures the order of the directories
in the resulting archive is the same, whatever their order
on the command line.  It also fixes the operation of
--listed-incremental -C.

* gnulib.modules: Add canonicalize
* src/common.h (incremental_level): New global.
(check_exclusion_tags): first argument is const.
(get_directory_contents): Add third argument.
(zap_slashes, normalize_filename): New prototypes.
(chdir_count): New prototype.
(WARN_VERBOSE_WARNINGS): New define.
(WARN_ALL): Exclude WARN_VERBOSE_WARNINGS.
* src/compare.c (diff_dumpdir): Update the call to get_directory_contents.
* src/create.c (check_exclusion_tags): First argument is const.
Use ISSLASH and DIRECTORY_SEPARATOR instead of referring to '/'.

* src/incremen.c (struct directory): New member `caname'.
(hash_directory_name): Rename to hash_directory_canonical_name. Operate
on the canonical name.
(compare_directory_names): Rename to compare_directory_canonical_names.
Operate on the canonical name.
(make_directory): Take two arguments.
(free_directory): Free caname.
(attach_directory): Create caname.
(find_directory): Use caname for lookups.
(PD_VERBOSE): Remove.
(PD_FORCE_INIT): New define.
(procdir): First argument is const.
Reinitialize directory if PD_FORCE_INIT bit is set.
Do not use PD_VERBOSE or verbose_option for issuing warnings.
Rely on WARNOPT instead.
Always set *entry.
(scan_directory): Take three arguments. The third one is a boolean
which is true if the directory is explicitly mentioned on the command
line.
(get_directory_contents): Remove.  Use scan_directory instead.
All callers updated.
(read_directory_file): Truncate the file if --level=0 is given.
* src/misc.c: Include canonicalize.h
(zap_slashes, normalize_filename): New functions.
(chdir_count): New function.
* src/names.c (add_hierarchy_to_namelist): Take three arguments, as
get_directory_contents and scan_directory.
(collect_and_sort_names): Allow at most one -C, before file name
arguments.
Read directory file after eventual changing to another directory.
Avoid adding the same directory under different pathnames to
the list.
* src/tar.c: New option --level.

* tests/incr03.at, tests/incr04.at, tests/listed01.at,
tests/listed02.at, tests/rename01.at, tests/rename02.at,
tests/rename03.at: Update for new tar behavior.
* tests/multiv01.at: Do not use --listed-incremental.

15 years agoForgotten to push src/warning.c
Sergey Poznyakoff [Wed, 5 Aug 2009 19:18:33 +0000 (22:18 +0300)] 
Forgotten to push src/warning.c

15 years agoImplement the --warning option.
Sergey Poznyakoff [Wed, 5 Aug 2009 10:52:38 +0000 (13:52 +0300)] 
Implement the --warning option.

* src/warning.c: New file.
* src/Makefile.am: Add warning.c
* src/common.h: Provide definitions for warning classes.
(warning_option): New global.
(WARNOPT): New define.
(set_warning_option): New prototype.
* src/tar.c: New option `--warning'.
* src/compare.c: When applicable WARNOPT instead of WARN.
* src/create.c: Likewise.
* src/extract.c: Likewise.
* src/incremen.c: Likewise.
* src/list.c: Likewise.

* NEWS, doc/tar.texi: Update.

15 years agoFix descriptions of some options (tiny change)
Carl Worth [Wed, 5 Aug 2009 07:42:42 +0000 (10:42 +0300)] 
Fix descriptions of some options (tiny change)

15 years agoFix backup handling and restoring file modes of existing directories
Sergey Poznyakoff [Wed, 5 Aug 2009 07:38:50 +0000 (10:38 +0300)] 
Fix backup handling and restoring file modes of existing directories

* NEWS, THANKS: Update
* src/extract.c (extract_dir): reset status to 0 if the
directory already exists.
* src/misc.c (maybe_backup_file): Assign before_backup_name
and clear after_backup_name before checking if we really need
to backup the file.
* tests/backup01.at: New testcase.
* tests/extrac08.at: New testcase.
* tests/Makefile.am, tests/testsuite.at: Add extrac08.at and
backup01.at

15 years agoFix hard links recognition with -c --remove-files
Sergey Poznyakoff [Thu, 30 Jul 2009 20:48:04 +0000 (23:48 +0300)] 
Fix hard links recognition with -c --remove-files

* src/create.c (dump_hard_link): Always look up in the link table
if remove_files_option is set. Patch suggested by Theodore Ts'o
<tytso@mit.edu>.
(check_links): Remove extra newline from the warning message.
* tests/link02.at, tests/link03.at: New testcases.
* tests/Makefile.am (TESTSUITE_AT): Add link02.at and link03.at
* tests/testsuite.at: Include link02.at and link03.at

15 years agoFix handling of hard link targets by -c --transform
Sergey Poznyakoff [Thu, 30 Jul 2009 08:43:16 +0000 (11:43 +0300)] 
Fix handling of hard link targets by -c --transform

* src/create.c (file_count_links): Transform link target
before the look up.
* tests/xform-h.at: New test case.
* tests/Makefile.am (TESTSUITE_AT): Add xform-h.at.
* tests/testsuite.at: Add xform-h.at

15 years agoMinor fix.
Sergey Poznyakoff [Tue, 23 Jun 2009 13:52:33 +0000 (16:52 +0300)] 
Minor fix.

* src/extract.c (file_newer_p): Do not report error on ENOENT

15 years agoRemove rebox.el (reappeared after migration to Git)
Sergey Poznyakoff [Fri, 19 Jun 2009 12:49:17 +0000 (15:49 +0300)] 
Remove rebox.el (reappeared after migration to Git)

15 years agoRemove files that were removed in CVS, but reappeared after migration to Git
Sergey Poznyakoff [Thu, 18 Jun 2009 11:24:50 +0000 (14:24 +0300)] 
Remove files that were removed in CVS, but reappeared after migration to Git

15 years agoFix Solaris bug where chmod fails if we don't have PRIV_SYS_LINKDIR
David Bartley [Thu, 18 Jun 2009 10:57:10 +0000 (13:57 +0300)] 
Fix Solaris bug where chmod fails if we don't have PRIV_SYS_LINKDIR

* gnulib.modules: Add priv-set.
* src/extract.c (set_mode, extract_archive): Restore
PRIV_SYS_LINKDIR on chmod failure.
* src/tar.c (main): Drop PRIV_SYS_LINKDIR on startup.

15 years agoEnsure default behavior for SIGPIPE
Sergey Poznyakoff [Thu, 18 Jun 2009 10:05:48 +0000 (13:05 +0300)] 
Ensure default behavior for SIGPIPE

* src/tar.c (main): Install default handler for SIGPIPE.
Proposed by Bastian Blank.

15 years agoFollow autoconf recommendation for TESTSUITEFLAGS.
Eric Blake [Thu, 18 Jun 2009 09:30:04 +0000 (12:30 +0300)] 
Follow autoconf recommendation for TESTSUITEFLAGS.

* tests/Makefile.am (check-local, installcheck-local): Honor
TESTSUITEFLAGS.

15 years agoFix handling of sub-subprocess returns.
Sergey Poznyakoff [Thu, 18 Jun 2009 09:22:47 +0000 (12:22 +0300)] 
Fix handling of sub-subprocess returns.

* src/system.c (wait_for_grandchild): New function.
(sys_child_open_for_compress)
(sys_child_open_for_uncompress): Use wait_for_grandchild
to manage grandchild return.

15 years agoReport record size only if the archive refers to a device.
Sergey Poznyakoff [Mon, 25 May 2009 07:18:36 +0000 (10:18 +0300)] 
Report record size only if the archive refers to a device.

* Makefile.am (INCLUDES): Add ../lib, for rmt-command.h
* src/buffer.c (short_read): Report the actual record size
only if the archive descriptor refers to a device.
* tests/pipe.at, tests/shortrec.at,
tests/sparsemvp.at: Reflect the above change.
* NEWS, configure.ac: Version 1.22.90

15 years agoDo not issue errors on existing files when given the -k option
Sergey Poznyakoff [Thu, 14 May 2009 08:28:41 +0000 (11:28 +0300)] 
Do not issue errors on existing files when given the -k option

* Makefile.am (dist-hook): Fix rule.
* src/extract.c (maybe_recoverable): Return three-state value.
(extract_dir): Skip extraction if maybe_recoverable indicates so.
(extract_file): Likewise.

15 years agoAvoid undefined behavior
Eric Blake [Tue, 12 May 2009 09:12:15 +0000 (12:12 +0300)] 
Avoid undefined behavior

* src/xheader.c (xheader_set_keyword_equal): Pass correct type to
ctype macros.
* src/transform.c (run_case_conv): Likewise.

15 years agoRemove src/Makefile.in
Sergey Poznyakoff [Tue, 12 May 2009 09:11:17 +0000 (12:11 +0300)] 
Remove src/Makefile.in

15 years agoBugfixes.
Sergey Poznyakoff [Thu, 12 Mar 2009 14:15:06 +0000 (16:15 +0200)] 
Bugfixes.

* bootstrap (symlink_to_dir): Fix symlink calculation.
* doc/tar.texi: Minor fixes by Victor Villa and Stepan Kasal.

15 years agoRemove Makefile.in
Sergey Poznyakoff [Sat, 7 Mar 2009 14:32:06 +0000 (16:32 +0200)] 
Remove Makefile.in

15 years agoMigrate to Git
Sergey Poznyakoff [Sat, 7 Mar 2009 14:30:44 +0000 (16:30 +0200)] 
Migrate to Git

15 years agoUpdate
Sergey Poznyakoff [Thu, 5 Mar 2009 07:26:41 +0000 (07:26 +0000)] 
Update

15 years agoVersion 1.22
Sergey Poznyakoff [Thu, 5 Mar 2009 07:25:27 +0000 (07:25 +0000)] 
Version 1.22

15 years agoVersion 1.22
Sergey Poznyakoff [Thu, 5 Mar 2009 07:22:56 +0000 (07:22 +0000)] 
Version 1.22

15 years agoUpdate
Sergey Poznyakoff [Wed, 4 Mar 2009 17:24:28 +0000 (17:24 +0000)] 
Update

15 years agov.1.21.90
Sergey Poznyakoff [Wed, 4 Mar 2009 16:53:37 +0000 (16:53 +0000)] 
v.1.21.90

15 years agoAdd xz support.
Sergey Poznyakoff [Wed, 4 Mar 2009 16:50:31 +0000 (16:50 +0000)] 
Add xz support.

* src/buffer.c, src/suffix.c: Add support for xz compression.
* src/tar.c: New option --xz, for compression/decompression using xz.
Re-assign -J as a short equivalent of --xz.
* doc/tar.texi, NEWS: Document --xz

15 years agoMinor fix
Sergey Poznyakoff [Mon, 19 Jan 2009 10:53:58 +0000 (10:53 +0000)] 
Minor fix

15 years agoFix testsuite and bootstrap. Implement -I.
Sergey Poznyakoff [Mon, 29 Dec 2008 09:27:00 +0000 (09:27 +0000)] 
Fix testsuite and bootstrap. Implement -I.

* bootstrap.conf: Include size_max.
* gnulib.modules: Remove memset, rmdir. Replace strdup with
strdup-posix. Patch by Eric Blake.
* src/tar.c: Implement -I as a shorthand for --use-compress-program.
* doc/tar.texi: Document -I.
* tests/pipe.at, tests/shortrec.at: Account for eventual 'Record
size' output.
* tests/testsuite.at (AT_TAR_CHECK_HOOK): New define
(AT_TAR_WITH_HOOK, TAR_IGNREC_HOOK): New macros.

15 years agoVersion 1.21
Sergey Poznyakoff [Sat, 27 Dec 2008 11:40:31 +0000 (11:40 +0000)] 
Version 1.21

15 years ago* src/xheader.c: Remove duplicate inclusion of fnmatch.h. Reported
Sergey Poznyakoff [Sun, 30 Nov 2008 12:33:12 +0000 (12:33 +0000)] 
* src/xheader.c: Remove duplicate inclusion of fnmatch.h. Reported
by Jim Meyering.

16 years agoDo not try to drain the input pipe before closing the archive.
Sergey Poznyakoff [Tue, 25 Nov 2008 12:33:28 +0000 (12:33 +0000)] 
Do not try to drain the input pipe before closing the archive.

* src/buffer.c (close_archive): Remove call to
sys_drain_input_pipe. Pass hit_eof as the second
argument to sys_wait_for_child.
* src/common.h (sys_drain_input_pipe): Remove
(sys_wait_for_child): Declare second argument.
* src/system.c (sys_drain_input_pipe): Remove.
(sys_wait_for_child): Take two arguments. The second one helps to
decide whether to tolerate child termination on SIGPIPE.

16 years ago* src/buffer.c (_write_volume_label): Fix typo, which prevented
Sergey Poznyakoff [Mon, 3 Nov 2008 19:15:52 +0000 (19:15 +0000)] 
* src/buffer.c (_write_volume_label): Fix typo, which prevented
`-V label -M' from working.

16 years ago* NEWS, configure.ac: Version 1.20.91
Sergey Poznyakoff [Thu, 30 Oct 2008 14:13:01 +0000 (14:13 +0000)] 
* NEWS, configure.ac: Version 1.20.91
* doc/tar.texi: Document transformation scope flags.
* src/common.h (transform_symlinks_option): Remove in favor of
transformation scope flags.
(XFORM_REGFILE, XFORM_LINK, XFORM_SYMLINK, XFORM_ALL): New macros.
(transform_name, transform_member_name, transform_name_fp): Take
an additional argument, specifying scope flags.
* src/create.c: Reflect changes to transform_name.
* src/extract.c (extract_link, extract_symlink): Remove calls to
transform_member_name. It is done in read_header.
* src/list.c (decode_xform): Reflect change in data type of 2nd
argument.
(transform_member_name): 2nd arg is int.
(decode_header): Transform file name and link target names.
* src/tar.c: Remove --transform-symlinks.
* src/transform.c (struct transform): New member `flags'.
(transform_flags): New variable.
(parse_transform_expr): Parse transformation scope flags. Allow to
set global flags using `flags=' syntax.
(_transform_name_to_obstack, transform_name_fp)
(transform_name): Take an additional argument, specifying scope
flags.

16 years ago* src/buffer.c (short_read): Remove !read_full_records condition,
Sergey Poznyakoff [Wed, 22 Oct 2008 20:55:35 +0000 (20:55 +0000)] 
* src/buffer.c (short_read): Remove !read_full_records condition,
which was always false on a first record and thus disabled record
size autodetection.  Thanks Ed Leaver for the patch.
(_gnu_flush_read): Handle blocking_factor == 1.
* tests/sparsemv.at: Reflect changes to buffer.c.
* tests/sparsemvp.at: Likewise.
* tests/volsize.at: Likewise.
* NEWS: Update.
* THANKS: Add Ed Leaver.

16 years ago* src/common.h (transform_symlinks_option): New global.
Sergey Poznyakoff [Thu, 16 Oct 2008 11:07:19 +0000 (11:07 +0000)] 
* src/common.h (transform_symlinks_option): New global.
* src/create.c (dump_file0): Transform symlink targets only if
explicitly required.  Thanks Cyril Strejc for reporting the
problem.
* src/tar.c (parse_opt): New options --transform-symlinks and
--no-transform-symlinks. New alias --xform to the --transform
option.
* doc/tar.texi: Document --transform-symlinks
* NEWS: Update.
* THANKS: Update.

* src/names.c (name_gather): Use xzalloc.
* src/buffer.c (short_read): Move record size detection before
the loop.

16 years agoUpdate
Sergey Poznyakoff [Tue, 7 Oct 2008 07:19:23 +0000 (07:19 +0000)] 
Update

16 years ago(options): Add --lzop option.
Sergey Poznyakoff [Tue, 7 Oct 2008 07:19:09 +0000 (07:19 +0000)] 
(options): Add --lzop option.

16 years agoBugfix.
Sergey Poznyakoff [Sun, 5 Oct 2008 09:09:16 +0000 (09:09 +0000)] 
Bugfix.

* src/checkpoint.c (checkpoint_compile_action): Add missing
`else'.

16 years agoImplement --no-null option.
Sergey Poznyakoff [Wed, 24 Sep 2008 10:58:19 +0000 (10:58 +0000)] 
Implement --no-null option.

* NEWS: Update.
* doc/tar.texi: Update.
* src/tar.c: New option --no-null.

16 years agoUpdate
Sergey Poznyakoff [Tue, 23 Sep 2008 17:07:17 +0000 (17:07 +0000)] 
Update

16 years agoChangeLog
Sergey Poznyakoff [Tue, 23 Sep 2008 17:06:43 +0000 (17:06 +0000)] 
ChangeLog

16 years agoUpdate
Sergey Poznyakoff [Thu, 18 Sep 2008 09:46:39 +0000 (09:46 +0000)] 
Update

16 years agoRemove incorrect example.
Sergey Poznyakoff [Thu, 18 Sep 2008 09:46:34 +0000 (09:46 +0000)] 
Remove incorrect example.

16 years agoBugfixes.
Sergey Poznyakoff [Sun, 7 Sep 2008 08:49:10 +0000 (08:49 +0000)] 
Bugfixes.

* src/incremen.c (dumpdir_create0): Eliminate gcc warning.
(attach_directory): Bugfix - add missing return statement.
* THANKS: Add Enric Hernandez

16 years agoUpdate
Sergey Poznyakoff [Thu, 31 Jul 2008 07:13:13 +0000 (07:13 +0000)] 
Update

16 years agoFix incremental archiving of renamed directories.
Sergey Poznyakoff [Thu, 31 Jul 2008 07:12:50 +0000 (07:12 +0000)] 
Fix incremental archiving of renamed directories.

* src/incremen.c (struct directory): New member `next'.  Change
type of `name'.
(dirhead, dirtail): New statics.
(make_directory): Reflect changes to struct directory.
(free_directory, attach_directory): New functions.
(dirlist_replace_prefix): New function.
(note_directory): Use attach_directory, instead of make_directory,
(find_directory, find_directory_meta): Use free_directory.
(procdir): Replace directory prefixes in directory list to avoid
marking subdirectories as renamed after renaming their parent
directory.
(append_incremental_renames): Iterate over directory list, not
hash table, to preserve logical ordering of renames.
* tests/rename04.at, tests/rename05.at: New test cases.
* tests/Makefile.am, tests/testsuite.at: Add rename04.at and
rename05.at.
* tests/atlocal.in (decho): New function.
* tests/multiv06.at: Use decho instead of echo2.
* tests/incremental.at: Raise wait interval to 2 seconds.

16 years agoUntabify
Sergey Poznyakoff [Thu, 24 Jul 2008 18:16:51 +0000 (18:16 +0000)] 
Untabify

16 years agoFix multivolume archive creation when volume length=record size.
Sergey Poznyakoff [Thu, 24 Jul 2008 18:16:08 +0000 (18:16 +0000)] 
Fix multivolume archive creation when volume length=record size.

* src/tar.c (decode_options): Do not allow volume length less
than record size.
* src/buffer.c (_gnu_flush_write): Compensate for the effect
of eventual flush_archive occurring in the middle of buffer
move.
Increment records_written only if _flush_write was able to write
something.
* tests/multiv06.at: New testcase.
* tests/Makefile.am, test/testsuite.at: Add tests/multiv06.at

16 years ago* configure.ac, NEWS: Version 1.20.90
Sergey Poznyakoff [Thu, 26 Jun 2008 10:19:19 +0000 (10:19 +0000)] 
* configure.ac, NEWS: Version 1.20.90
* doc/tar.texi: Document -J, --no-auto-compress, etc.
* src/buffer.c (ct_tar): New constant.
(magic): Add lzop support.  Proposed by Kevin Day
<thekevinday@gmail.com>.
(check_compressed_archive): Do not use autodetect if the
compression program was specified explicitly.
Fall back to analyzing archive name, if the autodetection fails.
* src/suffix.c: Add .lzo
* src/tar.c: New options --lzop and --no-auto-compress.
New short option -J (alias for --lzma).

16 years agoBugfixes.
Sergey Poznyakoff [Thu, 26 Jun 2008 06:32:25 +0000 (06:32 +0000)] 
Bugfixes.

* src/buffer.c (try_new_volume): Print more information with error
diagnostics.
(_gnu_flush_write): Improve error checking.  Adjust
real_s_sizeleft before calling new_volume to avoid creating
malformed multivolume headers.
* tests/delete05.at, tests/gzip.at, tests/ignfail.at,
tests/longv7.at, tests/lustar01.at, tests/lustar02.at,
tests/shortfile.at: Update to match new diagnostic wording
(see 2008-05-06).

* NEWS: Update.

16 years agoUpdate
Sergey Poznyakoff [Sat, 14 Jun 2008 10:17:42 +0000 (10:17 +0000)] 
Update

16 years agoRemove a TZ dependency.Remove a TZ dependency.
Sergey Poznyakoff [Sat, 14 Jun 2008 10:17:34 +0000 (10:17 +0000)] 
Remove a TZ dependency.Remove a TZ dependency.

16 years agoFix typos.
Sergey Poznyakoff [Sat, 14 Jun 2008 10:17:14 +0000 (10:17 +0000)] 
Fix typos.

16 years agoUpdate
Sergey Poznyakoff [Sat, 14 Jun 2008 10:16:09 +0000 (10:16 +0000)] 
Update

16 years ago(exclude): Document support for new VCS.
Sergey Poznyakoff [Sat, 14 Jun 2008 10:16:01 +0000 (10:16 +0000)] 
(exclude): Document support for new VCS.

16 years ago(exclude_vcs_files): Support for Bazaar, Mercurial and Darcs.
Sergey Poznyakoff [Sat, 14 Jun 2008 10:15:25 +0000 (10:15 +0000)] 
(exclude_vcs_files): Support for Bazaar, Mercurial and Darcs.

16 years agoUpdate
Sergey Poznyakoff [Mon, 5 May 2008 21:33:51 +0000 (21:33 +0000)] 
Update

16 years ago(main): Reword the "delayed error" message. New wording proposed by Karl Berry.
Sergey Poznyakoff [Mon, 5 May 2008 21:33:39 +0000 (21:33 +0000)] 
(main): Reword the "delayed error" message. New wording proposed by Karl Berry.

16 years agoUpdate
Sergey Poznyakoff [Mon, 5 May 2008 21:31:13 +0000 (21:31 +0000)] 
Update

16 years agoVersion 1.20.
Sergey Poznyakoff [Mon, 5 May 2008 21:30:57 +0000 (21:30 +0000)] 
Version 1.20.

* configure.ac: Raise version number to 1.20
* src/compare.c (diff_dumpdir): const.
* src/common.h (dumpdir_t,dumpdir_iter_t): New data types.
(dumpdir_create0,dumpdir_create,dumpdir_free,dumpdir_locate)
(dumpdir_first,dumpdir_next): New functions.
* src/incremen.c (dumpdir_create0,dumpdir_create,dumpdir_free)
(dumpdir_first,dumpdir_next): New functions.
(dumpdir_locate): Rewrite using binary search.
(struct directory): Change members char *contents, *icontents to
struct dumpdir *dump, *idump. All references updated.
(note_directory): Last arg is const.
* src/names.c (add_hierarchy_to_namelist): buffer is const.
* tests/incr03.at, tests/incr04.at, tests/rename02.at,
tests/rename03.at: Insert calls to sleep between creation of files
and adding them to the archive.

16 years agoUpdate
Sergey Poznyakoff [Mon, 31 Mar 2008 08:03:00 +0000 (08:03 +0000)] 
Update

16 years ago(dump_file0): Count links only for actually dumped files
Sergey Poznyakoff [Mon, 31 Mar 2008 08:02:53 +0000 (08:02 +0000)] 
(dump_file0): Count links only for actually dumped files

16 years ago* NEWS: Document --no-check-device and --check-device.
Sergey Poznyakoff [Thu, 27 Mar 2008 10:11:05 +0000 (10:11 +0000)] 
* NEWS: Document --no-check-device and --check-device.
* doc/rendition.texi: Change the way FIXME-*refs are handled in
!PROOF.
* doc/intern.texi, doc/tar.texi: Update.
* doc/untabify.el: New file.
* doc/Makefile.am (EXTRA_DIST): Add untabify.el
(untabify, final, check-format, check-refs, check-fixmes)
(check-unrevised, all-check-docs, check-docs): New rules.

16 years ago* src/common.h (check_device_option): New global.
Sergey Poznyakoff [Thu, 27 Mar 2008 08:56:26 +0000 (08:56 +0000)] 
* src/common.h (check_device_option): New global.
* src/incremen.c (procdir): Use boolean and instead of bitwise
one. Patch by Jean-Louis Martineau.
Compare device numbers only if check_device_option is set.
* src/tar.c: New command line options --no-check-device and
--check-device. Proposed by Jean-Louis Martineau.
(parse_opt): Hanlde new options.
(decode_options): Initialize check_device_option to true.

16 years ago* bootstrap: Use rsync to get translations.
Sergey Poznyakoff [Thu, 6 Mar 2008 08:17:33 +0000 (08:17 +0000)] 
* bootstrap: Use rsync to get translations.
* doc/tar.texi: Minor change.
* lib/.cvsignore: Update
* po/.cvsignore: Update
* src/system.c: Remove include setenv.h.
* tests/atlocal.in (STAR_DATA_URL): Update.
* tests/star/README: Update URL.

16 years agoUpdate
Sergey Poznyakoff [Sat, 9 Feb 2008 10:36:40 +0000 (10:36 +0000)] 
Update

16 years agoFix a typo
Sergey Poznyakoff [Sat, 9 Feb 2008 10:35:55 +0000 (10:35 +0000)] 
Fix a typo

16 years ago* NEWS: Update.
Sergey Poznyakoff [Fri, 8 Feb 2008 14:12:22 +0000 (14:12 +0000)] 
* NEWS: Update.
* configure.ac: Version 1.19.90
* po/POTFILES.in: Add missing files.
* src/compare.c (verify_volume): Honor --ignore-zeros.
Proposed by Jan-Benedict Glaw.
* tests/shortfile.at (AT_KEYWORDS): Add shortfile0.

16 years agoUpdate the description
Sergey Poznyakoff [Fri, 8 Feb 2008 10:32:15 +0000 (10:32 +0000)] 
Update the description

16 years ago(dump_file0): Apply transform_name to symlink targets.
Sergey Poznyakoff [Thu, 7 Feb 2008 15:46:41 +0000 (15:46 +0000)] 
(dump_file0): Apply transform_name to symlink targets.

16 years agoUpdate
Sergey Poznyakoff [Thu, 7 Feb 2008 15:46:28 +0000 (15:46 +0000)] 
Update

16 years agoUpdate
Sergey Poznyakoff [Mon, 4 Feb 2008 10:39:05 +0000 (10:39 +0000)] 
Update

16 years agoUpdate
Sergey Poznyakoff [Mon, 4 Feb 2008 10:38:27 +0000 (10:38 +0000)] 
Update

16 years agoDocument changes to the --transform option.
Sergey Poznyakoff [Mon, 4 Feb 2008 10:38:18 +0000 (10:38 +0000)] 
Document changes to the --transform option.

16 years agoSupport multiple --transform options. Support semicolon-separated lists of replace...
Sergey Poznyakoff [Mon, 4 Feb 2008 10:35:20 +0000 (10:35 +0000)] 
Support multiple --transform options. Support semicolon-separated lists of replace expressions.

This page took 0.061861 seconds and 4 git commands to generate.