Phillip Wood <phillip.wood123@xxxxxxxxx> writes: > 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"?