Re: being nice to patch(1)
From: Andrew Morton <akpm@linux-foundation.org>
Date: 2016-06-15 22:43:19
On Mon, 2 Jul 2007 14:40:36 -0700 (PDT) Linus Torvalds [off-list ref] wrote:
On Mon, 2 Jul 2007, Andrew Morton wrote:quoted
Thing is, changelog-followed-by-diff is a fairly standard format used by quilt and other such toys.Sure. And if a tool ends up eating the changelog as a diff, then that tool is broken. I really do think that this is a "patch" bug - I really don't think that that was a valid traditional diff with the four spaces at the head of the line. Of course, if the changelog-followed-by-diff doesn't have any indentation or escaping at all, the changelog entry itself *could* actually have a real unified diff in it, and the tool would be unable to tell where the actual patch starts.
erk, yes, sometimes people do like to quote a hunk of diff in the changelog and yes, hell doth break loose.
But at least "git show" and friends indent the changelog on purpose, exactly so that there is never any chance that there could be any real ambiguity, and this really was a "patch" bug as far as I can tell. Happily, one that is easy to work around, by just telling patch to always consider the patch a unified diff.
I'm afraid indenting the changelog with leading spaces doesn't help - patch(1) still tries to apply the diff. I guess quilt-and-friends could (should) strip away all text prior to the first ^--- before feeding to patch(1). That would reliably remove all git changelog text.