Re: git format-patch --break-rewrites broken in 2.9.3
From: Jeff King <hidden>
Date: 2016-08-19 01:08:56
On Thu, Aug 18, 2016 at 05:16:55PM +0200, Matthieu Moy wrote:
Jeff King [off-list ref] writes:quoted
On Thu, Aug 18, 2016 at 04:44:21PM +0200, Olaf Hering wrote:quoted
This command used to create a diff which can be consumed by patch. But at least with 2.9.3 it just gives a rename output: git format-patch \ --no-signature \ --stdout \ --break-rewrites \ --keep-subject \ 95fa0405c5991726e06c08ffcd8ff872f7fb4f2d^..95fa0405c5991726e06c08ffcd8ff872f7fb4f2d What must be done now to get a usable patch?Probably --no-renames. Renames were enabled by default by 5404c11 (diff: activate diff.renames by default, 2016-02-25), which is in v2.9.0. I wonder if we should consider undoing that for format-patch, whose output may be consumed by non-git endpoints.I would say no (or more precisely: we should consider, but we should reject the idea ;-) ), since patches with renames are useful and can be used even outside Git's scope. GNU patch, which is probably the most widely used implementation of patch supports git-style renames since 2.7, released in September 2012.
Ah, OK; I didn't realize GNU patch had picked up rename support. I agree that makes it less-bad for format-patch to start using them by default. Olaf, what version of patch are you using? -Peff