# Process this file with autom4te to create testsuite. -*- Autotest -*- # # Test suite for GNU tar. # Copyright 2013-2022 Free Software Foundation, Inc. # 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 . # The --exclude-tag options interacted incorrectly with --listed-incremental # since their very inception. The testcases exclude08 through exclude16 # verify that --exclude-tag operates consistently whether or not # --listed-incremental option is given. # # This testcase verifies whether the --exclude-tag-all option works # as expected when used together with --listed-incremental. If the # exclusion tag is created after the level 0 dump, the level 1 dump # must skip the entire affected subdirectory and any previously-included # files within it. # # Reported-by: Nathan Stratton Treadway # Last-Affected-Version: 1.26 # References: <20120528140419.GT2654@shire.ontko.com>, # <20130311210006.GA3732@shire.ontko.com>, # http://lists.gnu.org/archive/html/bug-tar/2012-06/msg00013.html AT_SETUP([--exclude-tag-all option in incremental pass]) AT_KEYWORDS([exclude exclude-tag exclude-tag-all listed incremental exclude16]) AT_TAR_CHECK([ AT_SORT_PREREQ mkexcltest etest rm etest/subdir/excludeme decho "# Level 0" tar -c -f etest-0.tar --exclude-tag-all=excludeme --listed=snar-0 -v etest | sort touch etest/subdir/excludeme touch etest/subdir/otherfile decho "# Level 1" cp snar-0 snar-1 tar -c -f etest-1.tar --exclude-tag-all=excludeme --listed=snar-1 -v etest | sort ], [0], [# Level 0 etest/ etest/subdir/ etest/subdir/subdir-file etest/top-level-file # Level 1 etest/ ], [# Level 0 tar: etest: Directory is new tar: etest/subdir: Directory is new # Level 1 tar: etest/subdir: contains a cache directory tag excludeme; directory not dumped ],[],[],[gnu]) AT_CLEANUP