Re: [PATCH 0/2] (experimental) diff --quote-path-with-sp
From: Junio C Hamano <hidden>
Date: 2021-09-16 05:31:54
Gwyneth Morgan [off-list ref] writes:
On 2021-09-15 15:33:14-0700, Junio C Hamano wrote:quoted
Long time ago, we had a discussion with GNU patch/diff maintainer and agreed that pathnames with certain "difficult" bytes needs to be quoted to ensure the resulting patch is machine parseable in an unambiguous way [*1*]. Recently, we saw a report that found that GNU patch is unhappy with our diff output for a path with SP in it [*2*]. With this experimental option, the beginning part of the patch output will have pathnames with SP in them enclosed inside a pair of double quotes, like so: diff --git "a/A Name" "b/A Name" --- "a/A Name" +++ "b/A Name"I believe GNU patch is fine with unquoted spaces in the "--- a/path" and "+++ b/path", and only has an issue with unquoted spaces in the "diff --git" line. busybox patch does seem to have an issue with quoted filenames in the "---" and "+++" lines but is fine if those lines are unquoted. Maybe we could leave spaces unquoted in those lines, only quoted if there's some other character that needs it.
Well, if they are so inconsistent, perhaps we shouldn't bend over backwards to cater to them, I would have to say. I do not think we want to break the convention that these a/ & b/ labeled paths are spelled exactly the same way, only to please external tools. Thanks for a quick report.