Re: [PATCH 1/1] cat-file: quote-format name in error when using -z
From: Junio C Hamano <hidden>
Date: 2022-12-09 23:58:48
Phillip Wood [off-list ref] writes:
Hi Toon On 09/12/2022 15:00, Toon Claes wrote:quoted
Since it's supported to have NUL-delimited input, introduced in db9d67f2e9 (builtin/cat-file.c: support NUL-delimited input with `-z`, 2022-07-22), it's possible to pass paths that contain newlines. This works great when the object is found, but when it's not, the input path is returned in the error message. Because this can contain newlines, the error message might get spread over multiple lines, making it harder to machine-parse this error message. With this change, the input is quote-formatted in the error message, if needed. This ensures the error message is always on a single line and makes parsing the error more straightforward.Thanks for working on this. I'd previously suggested NUL terminating the output of "git cat-file -z" to avoid this problem [1] but quoting the object name is a better solution.
Hmph. My knee-jerk reaction was that it is utterly disgusting if we quote when we do NUL-terminated. Is your "quoting is OK over NUL terminating" because "-z" applies only to the input? If so, then I would agree that is OK, but shouldn't the quoting apply regardless of how the input is formulated? Why do we call the cquote helper only under "-z"?