/* A tar (tape archiver) program.
- Copyright 1988, 1992-1997, 1999-2001, 2003-2007, 2012-2013 Free
+ Copyright 1988, 1992-1997, 1999-2001, 2003-2007, 2012-2014 Free
Software Foundation, Inc.
Written by John Gilmore, starting 1985-08-25.
OCCURRENCE_OPTION,
OLD_ARCHIVE_OPTION,
ONE_FILE_SYSTEM_OPTION,
+ ONE_TOP_LEVEL_OPTION,
OVERWRITE_DIR_OPTION,
OVERWRITE_OPTION,
OWNER_OPTION,
{"keep-directory-symlink", KEEP_DIRECTORY_SYMLINK_OPTION, 0, 0,
N_("preserve existing symlinks to directories when extracting"),
GRID+1 },
+ {"one-top-level", ONE_TOP_LEVEL_OPTION, N_("DIR"), OPTION_ARG_OPTIONAL,
+ N_("create a subdirectory to avoid having loose files extracted"),
+ GRID+1 },
#undef GRID
#define GRID 40
s = xasprintf (_("filter the archive through %s"), LZMA_PROGRAM);
break;
+ case LZOP_OPTION:
+ s = xasprintf (_("filter the archive through %s"), LZOP_PROGRAM);
+
case 'J':
s = xasprintf (_("filter the archive through %s"), XZ_PROGRAM);
break;
one_file_system_option = true;
break;
+ case ONE_TOP_LEVEL_OPTION:
+ one_top_level_option = true;
+ one_top_level_dir = arg;
+ break;
+
case 'l':
check_links_option = 1;
break;
subcommand_string (subcommand_option)));
}
+ if (one_top_level_option && absolute_names_option)
+ USAGE_ERROR ((0, 0, _("--one-top-level cannot be used with --absolute-names")));
+
if (archive_names == 0)
{
/* If no archive file name given, try TAPE from the environment, or
exit_failure = TAREXIT_FAILURE;
exit_status = TAREXIT_SUCCESS;
+ error_hook = checkpoint_flush_actions;
+
filename_terminator = '\n';
set_quoting_style (0, DEFAULT_QUOTING_STYLE);