Hi, I'v added a new test to check if the positional arguments --recursion and -no-recursion works as expected. Quoting from the documentation: ************************************************************************ The `--no-recursion' and `--recursion' options apply to later options and operands, and can be overridden by later occurrences of `--no-recursion' and `--recursion'. For example:
$ tar -cf jams.tar --no-recursion grape --recursion grape/concord creates an archive with one entry for `grape', and the recursive contents of `grape/concord', but no entries under `grape' other than `grape/concord'. ************************************************************************ It does not work in 1.27.1, simply because the global argument parsing flag is used instead of the stored flags. One example is: ~/tar-1.27.1$ fgrep -n1 recursion src/create.c 1169- 1170: if (!recursion_option) 1171- return; There are other refences, and I'm not sure how to fix it correctly. So I provide a new test for this behavior. Thank you for your work. ------------------------------------------------------------------------ # Process this file with autom4te to create testsuite. -*- Autotest -*- # Test suite for GNU tar. # Copyright 2014 Lutz Donnerhacke # This file is part of GNU tar. # GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. # GNU tar is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. AT_SETUP([recurse: toggle]) AT_KEYWORDS([recurse options recurse02]) AT_TAR_CHECK([ mkdir directory1 directory2 touch directory1/file directory2/file tar --create --file archive --no-recursion directory1 --recursion directory2 || exit 1 tar tf archive ], [0], [directory1/ directory2/ directory2/file ]) AT_CLEANUP ------------------------------------------------------------------------