On 2/15/22 10:07, Antonio Diaz Diaz wrote:
Excellent idea! This makes explicit the cause of the problem.

OK, I installed the attached. I didn't follow Martin's suggestion because there is a bit of a "; not dumped" pattern elsewhere.
From 229fc1e6ef7a709bdb11fe51b5bc4dac7d4a691a Mon Sep 17 00:00:00 2001
From: Paul Eggert <egg...@cs.ucla.edu>
Date: Tue, 15 Feb 2022 17:40:34 -0800
Subject: [PATCH] tar: revamp "file is the archive" diagnostic

* src/create.c (dump_file0): For clarity, change diagnostic
wording from "file is the archive; not dumped" to "archive cannot
contain itself; not dumped".  All test cases and documentation changed.
---
 doc/tar.1             | 4 ++--
 doc/tar.texi          | 6 ++----
 src/create.c          | 2 +-
 tests/positional02.at | 3 +--
 4 files changed, 6 insertions(+), 9 deletions(-)

diff --git a/doc/tar.1 b/doc/tar.1
index 4eaea0ca..180f4cbb 100644
--- a/doc/tar.1
+++ b/doc/tar.1
@@ -13,7 +13,7 @@
 .\"
 .\" You should have received a copy of the GNU General Public License
 .\" along with this program.  If not, see <http://www.gnu.org/licenses/>.
-.TH TAR 1 "July 13, 2020" "TAR" "GNU TAR Manual"
+.TH TAR 1 "February 15, 2022" "TAR" "GNU TAR Manual"
 .SH NAME
 tar \- an archiving utility
 .SH SYNOPSIS
@@ -1168,7 +1168,7 @@ Keywords applicable for \fBtar --create\fR:
 "%s: file is unchanged; not dumped"
 .TP
 .B ignore-archive
-"%s: file is the archive; not dumped"
+"%s: archive cannot contain itself; not dumped"
 .TP
 .B file-removed
 "%s: File removed before we read it"
diff --git a/doc/tar.texi b/doc/tar.texi
index e9564b69..a70e8898 100644
--- a/doc/tar.texi
+++ b/doc/tar.texi
@@ -4634,11 +4634,9 @@ Disable all warning messages.
 @item file-unchanged
 @samp{%s: file is unchanged; not dumped}
 @kwindex ignore-archive
-@cindex @samp{file is the archive; not dumped}, warning message
-@kwindex ignore-archive
-@cindex @samp{file is the archive; not dumped}, warning message
+@cindex @samp{archive cannot contain itself; not dumped}, warning message
 @item ignore-archive
-@samp{%s: file is the archive; not dumped}
+@samp{%s: archive cannot contain itself; not dumped}
 @kwindex file-removed
 @cindex @samp{File removed before we read it}, warning message
 @item file-removed
diff --git a/src/create.c b/src/create.c
index 1ffc3281..30db2b5c 100644
--- a/src/create.c
+++ b/src/create.c
@@ -1723,7 +1723,7 @@ dump_file0 (struct tar_stat_info *st, char const *name, char const *p)
   if (sys_file_is_archive (st))
     {
       WARNOPT (WARN_IGNORE_ARCHIVE,
-	       (0, 0, _("%s: file is the archive; not dumped"),
+	       (0, 0, _("%s: archive cannot contain itself; not dumped"),
 		quotearg_colon (p)));
       return;
     }
diff --git a/tests/positional02.at b/tests/positional02.at
index fa626027..ac1ed7b7 100644
--- a/tests/positional02.at
+++ b/tests/positional02.at
@@ -39,11 +39,10 @@ tar -cf a.tar . -C dir
 ./A.b
 ./B.a
 ],
-[tar: ./a.tar: file is the archive; not dumped
+[tar: ./a.tar: archive cannot contain itself; not dumped
 tar: The following options were used after any non-optional arguments in archive create or update mode.  These options are positional and affect only arguments that follow them.  Please, rearrange them properly.
 tar: -C 'dir' has no effect
 tar: Exiting with failure status due to previous errors
 ])
 
 AT_CLEANUP
-
-- 
2.35.1

Reply via email to