threads / patch / 66670

v7archive-zip: refactor 'path too long' error message

Subject: [PATCH v7 0/1] archive-zip: refactor 'path too long' error message

## tl;dr

7 messages between Oct 26, 2026 and Oct 27, 2026. Diffs are folded; open one to read it.

replies: 6people: 2as markdown or json

kerylefondji7@gmail.com· Oct 26, 2026, 19:04 UTC · lore
From: Keryle Fondji <kerylefondji7@gmail.com>

This v7 addresses the feedback from Junio C Hamano and Phillip Wood regarding commit structure, missing commit log message, and patch threading.

In previous attempts (like v5), the diff showed 4 deletions and 4 insertions because it was compared against prior iteration attempts. Since this v7 is flattened into a single clean commit applied directly on top of master, the diff naturally shows 2 deletions (-) (removing the original master lines) and 4 insertions (+) (adding the complete Q_() structure with correct tab/space alignments).

Regarding the mistakes in previous iterations:
- The commit message body was inadvertently omitted, which has now been fully
  restored.
- An incorrect Message-ID was used for threading (replying to an older
  reference instead of the proper discussion thread), which is also corrected.
Summary of changes in v7:
- Rebased as a single clean commit directly on top of master.
- Maintained the exact indentation approved in v5.
- Restored the full commit log message and proper Signed-off-by signature.
- Cleaned up unrelated modifications from the working directory.
Keryle Fondji (1):
  archive-zip: refactor 'path too long' error message to use Q_()
 archive-zip.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)
-- 
2.53.0
kerylefondji7@gmail.com· Oct 26, 2026, 19:04 UTC · re: kerylefondji7@gmail.com · lore

[PATCH v7 1/1] archive-zip: refactor 'path too long' error message to use Q_()

From: Keryle Fondji <kerylefondji7@gmail.com>

Replace _() with Q_() in the 'path too long' error message. Although pathlen is always greater than 0xffff when this error is hit, Q_() is required to support correct translation for languages that require different plural forms depending on the count.

Signed-off-by: Keryle Fondji <kerylefondji7@gmail.com>
---
 archive-zip.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)
Show changes to archive-zip.c +4 −2
diff --git a/archive-zip.c b/archive-zip.c
index 6f73ca6d58..160efd878f 100644
--- a/archive-zip.c
+++ b/archive-zip.c
@@ -328,8 +328,10 @@ static int write_zip_entry(struct archiver_args *args,
 	}
 
 	if (pathlen > 0xffff) {
-		return error(_("path too long (%d chars, SHA1: %s): %s"),
-				(int)pathlen, oid_to_hex(oid), path);
+		return error(Q_("path too long (%d char, SHA1: %s): %s",
+				"path too long (%d chars, SHA1: %s): %s",
+				pathlen),
+			     (int)pathlen, oid_to_hex(oid), path);
 	}
 
 	if (S_ISDIR(mode) || S_ISGITLINK(mode)) {
-- 
2.53.0
Junio C Hamano· Oct 26, 2026, 20:32 UTC · re: kerylefondji7@gmail.com · lore

Re: [PATCH v7 1/1] archive-zip: refactor 'path too long' error message to use Q_()

kerylefondji7@gmail.com writes:
A few things.
 * Please do not send the same [v7] multiple times.
 * Please do not send your [v7] cover letter as a respopnse to a
   random other message; instead make it in resonse to previous
   rounds (either [v6] or [v1]).
These harm automation.  Also
 * Patches [1/n]..[n/n] should be sent as a response to cover letter
   [0/n].

This [v7 1/1] correctly responds to [v7 0/1], but if gotten wrong, it would harm automation, too.

It also is more usual to send a single patch without cover letter.
Show 6 quoted lines
> From: Keryle Fondji <kerylefondji7@gmail.com>
>
> Replace _() with Q_() in the 'path too long' error message. Although
> pathlen is always greater than 0xffff when this error is hit, Q_() is
> required to support correct translation for languages that require
> different plural forms depending on the count.
Nicely described.
> Signed-off-by: Keryle Fondji <kerylefondji7@gmail.com>
> ---
>  archive-zip.c | 6 ++++--
>  1 file changed, 4 insertions(+), 2 deletions(-)
Show 15 quoted lines
> diff --git a/archive-zip.c b/archive-zip.c
> index 6f73ca6d58..160efd878f 100644
> --- a/archive-zip.c
> +++ b/archive-zip.c
> @@ -328,8 +328,10 @@ static int write_zip_entry(struct archiver_args *args,
>  	}
>  
>  	if (pathlen > 0xffff) {
> -		return error(_("path too long (%d chars, SHA1: %s): %s"),
> -				(int)pathlen, oid_to_hex(oid), path);
> +		return error(Q_("path too long (%d char, SHA1: %s): %s",
> +				"path too long (%d chars, SHA1: %s): %s",
> +				pathlen),
> +			     (int)pathlen, oid_to_hex(oid), path);
>  	}

This is outside the scope of this patch, but we may want to update "SHA1" with something like "object name", so that the error message works even in SHA-256 repository.

kerylefondji7@gmail.com· Oct 26, 2026, 19:28 UTC · lore
From: Keryle Fondji <kerylefondji7@gmail.com>

This v7 addresses the feedback from Junio C Hamano and Phillip Wood regarding commit structure, missing commit log message, and patch threading.

In previous attempts (like v5), the diff showed 4 deletions and 4 insertions because it was compared against prior iteration attempts. Since this v7 is flattened into a single clean commit applied directly on top of master, the diff naturally shows 2 deletions (-) (removing the original master lines) and 4 insertions (+) (adding the complete Q_() structure with correct tab/space alignments).

Regarding the mistakes in previous iterations:
- The commit message body was inadvertently omitted, which has now been fully
  restored.
- An incorrect Message-ID was used for threading (replying to an older
  reference instead of the proper discussion thread), which is also corrected.
Summary of changes in v7:
- Rebased as a single clean commit directly on top of master.
- Maintained the exact indentation approved in v5.
- Restored the full commit log message and proper Signed-off-by signature.
- Cleaned up unrelated modifications from the working directory.
Keryle Fondji (1):
  archive-zip: refactor 'path too long' error message to use Q_()
 archive-zip.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)
-- 
2.53.0
kerylefondji7@gmail.com· Oct 26, 2026, 19:28 UTC · re: kerylefondji7@gmail.com · lore

[PATCH v7 1/1] archive-zip: refactor 'path too long' error message to use Q_()

From: Keryle Fondji <kerylefondji7@gmail.com>

Replace _() with Q_() in the 'path too long' error message. Although pathlen is always greater than 0xffff when this error is hit, Q_() is required to support correct translation for languages that require different plural forms depending on the count.

Signed-off-by: Keryle Fondji <kerylefondji7@gmail.com>
---
 archive-zip.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)
Show changes to archive-zip.c +4 −2
diff --git a/archive-zip.c b/archive-zip.c
index 6f73ca6d58..160efd878f 100644
--- a/archive-zip.c
+++ b/archive-zip.c
@@ -328,8 +328,10 @@ static int write_zip_entry(struct archiver_args *args,
 	}
 
 	if (pathlen > 0xffff) {
-		return error(_("path too long (%d chars, SHA1: %s): %s"),
-				(int)pathlen, oid_to_hex(oid), path);
+		return error(Q_("path too long (%d char, SHA1: %s): %s",
+				"path too long (%d chars, SHA1: %s): %s",
+				pathlen),
+			     (int)pathlen, oid_to_hex(oid), path);
 	}
 
 	if (S_ISDIR(mode) || S_ISGITLINK(mode)) {
-- 
2.53.0
kerylefondji7@gmail.com· Oct 27, 2026, 08:50 UTC · re: kerylefondji7@gmail.com · lore

Re: [PATCH v7 1/1] archive-zip: replace _() with Q_() in path too long error

Hi Junio,
Thank you for your feedback on v7.

Just to be completely sure I understood correctly: regarding your note about updating "SHA1" to "object name" being outside the scope of this patch, does this mean my current work on this patch is finished, or is there any additional change expected from me?

Thank you, Keryle

Junio C Hamano· Oct 27, 2026, 19:33 UTC · re: kerylefondji7@gmail.com · lore

Re: [PATCH v7 1/1] archive-zip: replace _() with Q_() in path too long error

kerylefondji7@gmail.com writes:
> Just to be completely sure I understood correctly: regarding your note
> about updating "SHA1" to "object name" being outside the scope of this
> patch, does this mean my current work on this patch is finished,
> or is there any additional change expected from me?

Not at this moment. The "SHA1" thing certainly is not something we'd want to worry about.

As far as I am concerned, I think this topic is done. There might be other issues raised by others later, though.

Thanks.

← back to recent threads