Re: being nice to patch(1)
- From
- Andrew Morton <akpm@linux-foundation.org>
- Date
- Jul 2, 2007, 21:56 UTC
- Message-ID
- <20070702145601.a0dcef0f.akpm@linux-foundation.org>
- In-Reply-To
- <alpine.LFD.0.98.0707021436300.9434@woody.linux-foundation.org>
On Mon, 2 Jul 2007 14:40:36 -0700 (PDT) Linus Torvalds <torvalds@linux-foundation.org> wrote:
Show 16 quoted lines
> > > On Mon, 2 Jul 2007, Andrew Morton wrote: > > > > 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.
Show 5 quoted lines
> 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.