|
@@ -15,41 +15,47 @@
|
|
|
# You should have received a copy of the GNU General Public License
|
|
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
|
|
-# Description: ensure tar correctly respects -C option when deleting
|
|
|
-# files due to the --remove-files option.
|
|
|
+# Description: If tar 1.26 was called with the --remove-files option and told
|
|
|
+# to archive (and thus delete) two subdirectories where the second was
|
|
|
+# specified relative to the first, it would be unable to delete the
|
|
|
+# second directory (and its contents), since the relative path would no
|
|
|
+# longer be valid once the first directory was deleted.
|
|
|
#
|
|
|
-# This case checks the use of an absolute -C option followed by a relative -C,
|
|
|
+# This case checks for successful deletion of all archived items
|
|
|
# in --create/incremental mode.
|
|
|
#
|
|
|
+# Note: tar 1.27 fails this test case due to a more general issue
|
|
|
+# archving-and-removing a full directory tree when run in incremental
|
|
|
+# mode; see remfiles09b.at for that specific test case.
|
|
|
|
|
|
-AT_SETUP([remove-files with -C:abs,rel in -c/incr. mode])
|
|
|
+AT_SETUP([remove-files deleting two subdirs in -c/incr. mode])
|
|
|
AT_KEYWORDS([create incremental remove-files remfiles08 remfiles08b])
|
|
|
|
|
|
+AT_XFAIL_IF(true) # we expect to fail in tar 1.27
|
|
|
+
|
|
|
AT_TAR_CHECK([
|
|
|
-AT_SORT_PREREQ
|
|
|
mkdir foo
|
|
|
mkdir bar
|
|
|
-echo file > file
|
|
|
-echo foo/file > foo/file
|
|
|
-echo bar/file > bar/file
|
|
|
-DIR=`pwd`
|
|
|
+echo foo/foo_file > foo/foo_file
|
|
|
+echo bar/bar_file > bar/bar_file
|
|
|
decho A
|
|
|
-tar -cvf foo.tar --incremental --remove-files -C $DIR/foo file -C ../bar file
|
|
|
+tar -cvf foo.tar --incremental --remove-files -C foo . -C ../bar .
|
|
|
decho B
|
|
|
-find . | sort
|
|
|
+find .
|
|
|
],
|
|
|
[0],
|
|
|
[A
|
|
|
-file
|
|
|
-file
|
|
|
+./
|
|
|
+./
|
|
|
+./foo_file
|
|
|
+./bar_file
|
|
|
B
|
|
|
.
|
|
|
-./bar
|
|
|
-./file
|
|
|
-./foo
|
|
|
./foo.tar
|
|
|
],
|
|
|
[A
|
|
|
+tar: .: Directory is new
|
|
|
+tar: .: Directory is new
|
|
|
B
|
|
|
],[],[],[gnu])
|
|
|
|