Re: being nice to patch(1)
From: Linus Torvalds <torvalds@linux-foundation.org>
Date: 2016-06-15 22:43:19
On Mon, 2 Jul 2007, Andrew Morton wrote:
James's current git-scsi-misc has this commit in it:
commit a16efc1cbf0a9e5ea9f99ae98fb774b60d05c35b
Author: Kars de Jong [off-list ref]
Date: Sun Jun 17 14:47:08 2007 +0200
[SCSI] 53c700: Amiga 4000T NCR53c710 SCSI
New driver for the Amiga 4000T built-in NCR53c710 SCSI controller, using the
53c700 SCSI core.
Signed-off-by: Geert Uytterhoeven [off-list ref]
Signed-off-by: James Bottomley [off-list ref]
When one pulls that diff out of git with `git-show' or whatever, it doesn't
work - patch(1) has a heart attack over the "53c700":There's really nothing git can do about this, this is a patch oddity about the free-form message. A really strange one too, because the line is literally four spaces followed by the 53c700, and the thing is, that's not even a valid olf-fashioned patch (_without_ the four spaces, I could see that "patch" might think that it's a really old ed- I think you have two options: - tell patch to take it as a unified diff: git show | patch -p1 -u should work, since patch won't be trying to figure out what kind of diff it is, and won't think that the 53c700 is some kind of odd ed script. - suppress the free-form messages, by using (for example) git show --pretty=oneline | patch -p1 and now "patch" doesn't get any random commit message except for the first line (which always starts with the SHA1) and hopefully cannot _possibly_ interpret that to be some strange patch format. Or, of course, just use "git-apply" instead of patch to apply the thing. Linus