Minor fixes

This commit is contained in:
Sergey Poznyakoff
2009-08-08 22:33:16 +03:00
parent 51aee274e8
commit acd833fb98
3 changed files with 25 additions and 8 deletions

2
NEWS
View File

@@ -39,7 +39,7 @@ was explicitly listed in the command line, or was gathered
during file system scan.
If the file was explicitly listed in the command line, tar
issues error messages and exits with the code 2, meaning
issues error message and exits with the code 2, meaning
fatal error.
Otherwise, if the file was gathered during the file system

View File

@@ -762,9 +762,13 @@ dir_removed_diag (const char *name, bool top_level,
void (*diagfn) (char const *name))
{
if (!top_level && errno == ENOENT)
WARNOPT (WARN_FILE_REMOVED,
(0, 0, _("%s: Directory removed before we read it"),
quotearg_colon (name)));
{
WARNOPT (WARN_FILE_REMOVED,
(0, 0, _("%s: Directory removed before we read it"),
quotearg_colon (name)));
if (exit_status == TAREXIT_SUCCESS)
exit_status = TAREXIT_DIFFERS;
}
else
diagfn (name);
}

View File

@@ -14,9 +14,22 @@
# 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, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301, USA.
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# Description: when a file in a deep directory disappeared during creation
# of incremental dump, tar v. <1.23 would exit with TAREXIT_FAILURE (2).
# However, such events are quite common and don't necessarily constitute
# an error. Exiting with code 2 in such cases makes it impossible to
# distinguish serious errors from benign ones.
#
# Starting from tar 1.22.90, tar exits with TAREXIT_DIFFERS (1)
# instead.
#
# Reported by: Solar Designer <solar@openwall.com>
#
# References: <20090228235820.GA13362@openwall.com>
# http://lists.gnu.org/archive/html/bug-tar/2009-03/msg00000.html
#
AT_SETUP([file removed as we read it (ca. 22 seconds)])
AT_KEYWORDS([create incremental filechange filerem filerem01])
@@ -32,7 +45,7 @@ genfile --run --checkpoint=3 --unlink dir/file1 -- \
--checkpoint-action='echo' -c -f archive.tar \
--listed-incremental db -v dir >/dev/null
],
[0],
[1],
[ignore],
[tar: dir: Directory is new
tar: dir/sub: Directory is new