diff options
author | Lorry Tar Creator <lorry-tar-importer@lorry> | 2016-05-16 09:22:21 +0000 |
---|---|---|
committer | Lorry Tar Creator <lorry-tar-importer@lorry> | 2016-05-16 09:22:21 +0000 |
commit | d4fdeab4db0d0e699c8fbbb07f12c4e1f64d0f94 (patch) | |
tree | 72231a38ed1cdd48ac6e02acb8b3917acb9dbcf4 /tests/rename04.at | |
download | tar-tarball-master.tar.gz |
Diffstat (limited to 'tests/rename04.at')
-rw-r--r-- | tests/rename04.at | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/tests/rename04.at b/tests/rename04.at new file mode 100644 index 0000000..c31dfdf --- /dev/null +++ b/tests/rename04.at @@ -0,0 +1,81 @@ +# Process this file with autom4te to create testsuite. -*- Autotest -*- + +# Test suite for GNU tar. +# Copyright 2008, 2013-2014, 2016 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 <http://www.gnu.org/licenses/>. + +# Description: Up to version 1.20, when storing a record for renamed +# directory in an incremental archive, tar incorrectly flagged all its +# subdirectories as renamed, which led to problems at archive extraction. +# References: <00a401c8ecc0$56b7ef30$6a17a8c0@inti.com> +# Reported by: Enric Hernandez <ehernandez@notariado.org> + +AT_SETUP([renamed directory containing subdirectories]) +AT_KEYWORDS([incremental rename04 rename]) + +AT_TAR_CHECK([ +AT_SORT_PREREQ + +decho Creating directory structure +mkdir directory +mkdir directory/subdir +genfile --file=directory/file + +decho Creating initial archive +tar -cf archive.1 -g db.1 directory + +decho Renaming +mv directory dir + +decho Creating incremental archive +cp db.1 db.2 +tar -cf archive.2 -g db.2 dir + +mv dir orig + +decho First restore +tar -xf archive.1 -g db.1 +find directory | sort + +decho Second restore +tar -xf archive.2 -g db.2 +find dir | sort +], +[0], +[Creating directory structure +Creating initial archive +Renaming +Creating incremental archive +First restore +directory +directory/file +directory/subdir +Second restore +dir +dir/subdir +], +[Creating directory structure +Creating initial archive +Renaming +Creating incremental archive +First restore +Second restore +],[],[],[gnu, oldgnu, posix]) + +AT_CLEANUP + +# End of rename04.at |