Re: git format-patch produces invalid patch if the commit adds an empty file?
- From
Gwyneth Morgan <gwymor@tilde.club>
- Date
- Aug 20, 2021, 06:15 UTC
- Message-ID
- <YR9Iaj/FqAyCMade@tilde.club>
- In-Reply-To
- <xmqq5yw1ywdk.fsf@gitster.g>
On 2021-08-19 14:09:43-0700, Junio C Hamano wrote:
Show 8 quoted lines
> I do not think our patch injestion machinery in "git apply" minds if > we added the "--- /dev/null" + "+++ b/<path>" headers (and the > reverse for removal of an empty file) to the current output, and I > am not fundamentally opposed to such a change. > > But because it is such a rare event (and a discouraged practice) to > record a completely empty file, I wouldn't place a high priority on > doing so myself.
GNU patch chokes in this case with an unquoted filename with spaces. However if we output
diff --git "a/test cases/common/56 array methods/a.txt" "b/test cases/common/56 array methods/a.txt"
instead of
diff --git a/test cases/common/56 array methods/a.txt b/test cases/common/56 array methods/a.txt
GNU patch (and Git) will read it correctly. Rather than adding the "---" "+++" lines, could we instead quote filenames in the "diff --git" line when they contain spaces?