Re: [PATCH 1/1] cat-file: quote-format name in error when using -z
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Dec 9, 2022, 23:58 UTC
- Message-ID
- <xmqq5yekyvrh.fsf@gitster.g>
- In-Reply-To
- <93d61412-3786-b2b3-3fe8-4574336b08fb@dunelm.org.uk>
Phillip Wood <phillip.wood123@gmail.com> writes:
Show 18 quoted lines
> Hi Toon > > On 09/12/2022 15:00, Toon Claes wrote: >> 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"?