--- tar-1.13/configure Wed Jul 7 04:25:03 1999 +++ tar-1.13a/configure Thu Aug 16 21:48:24 2001 @@ -733,7 +733,7 @@ PACKAGE=tar -VERSION=1.13 +VERSION=1.13a if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then { echo "configure: error: source directory already configured; run "make distclean" there first" 1>&2; exit 1; } --- tar-1.13/NEWS Thu Jul 8 00:09:10 1999 +++ tar-1.13a/NEWS Thu Aug 16 21:59:21 2001 @@ -1,6 +1,12 @@ GNU tar NEWS - User visible changes. Copyright 1994, 1995-1998, 1999 Free Software Foundation, Inc. +version 1.13a - Denis Benoit, 2001-08-16. + +* Fixed --keep-old-files so it doesn't report an error if the file already + exists and with -v only the files effectively extracted are reported + instead of all the files from the archives + version 1.13 - Paul Eggert, 1999-07-08. * Support for large files, e.g. files larger than 2 GB on many 32-bit hosts. --- tar-1.13/ChangeLog Thu Jul 8 00:16:04 1999 +++ tar-1.13a/ChangeLog Thu Aug 16 21:59:38 2001 @@ -1,3 +1,7 @@ +2001-08-16 Denis Benoit + + * src/extract.c: . -k doesn't generate error when the file exists + 1999-07-08 Paul Eggert * NEWS, configure.in (AM_INIT_AUTOMAKE): Version 1.13 released. --- tar-1.13/src/extract.c Fri Jul 2 17:24:36 1999 +++ tar-1.13a/src/extract.c Thu Aug 16 21:45:45 2001 @@ -415,11 +415,6 @@ return; } - /* Print the block from `current_header' and `current_stat'. */ - - if (verbose_option) - print_header (); - /* Check for fully specified file names and other atrocities. */ skipcrud = 0; @@ -594,13 +589,15 @@ if (maybe_recoverable (CURRENT_FILE_NAME)) goto again_file; - ERROR ((0, errno, _("%s: Could not create file"), + if (!keep_old_files_option || (EEXIST != errno)) + ERROR ((0, errno, _("%s: Could not create file"), CURRENT_FILE_NAME)); if (current_header->oldgnu_header.isextended) skip_extended_headers (); skip_file (current_stat.st_size); if (backup_option) undo_last_backup (); + status=-1; break; } @@ -973,6 +970,10 @@ typeflag, CURRENT_FILE_NAME)); goto again_file; } + + /* Print the block from `current_header' and `current_stat'. */ + if (verbose_option && !status) + print_header (); #undef CURRENT_FILE_NAME }