Re: [PATCH 4/5] coccinelle: put sane filenames into output patches
- From
Derrick Stolee <stolee@gmail.com>
- Date
- Jul 23, 2018, 14:34 UTC
- Message-ID
- <9f560db6-b50a-e2f3-7215-d046c60e255a@gmail.com>
- In-Reply-To
- <20180723135100.24288-5-szeder.dev@gmail.com>
On 7/23/2018 9:50 AM, SZEDER Gábor wrote:
Show 35 quoted lines
> Coccinelle outputs its suggested transformations as patches, whose > header looks something like this: > > --- commit.c > +++ /tmp/cocci-output-19250-7ae78a-commit.c > > Note the lack of 'diff --opts <old> <new>' line, the differing number > of path components on the --- and +++ lines, and the nonsensical > filename on the +++ line. 'patch -p0' can still apply these patches, > as it takes the filename to be modified from the --- line. Alas, 'git > apply' can't, because it takes the filename from the +++ line, and > then complains about the nonexisting file. > > Pass the '--patch .' options to Coccinelle via the SPATCH_FLAGS 'make' > variable, as it seems to make it generate proper context diff patches, > with the header starting with a 'diff ...' line and containing sane > filenames. The resulting 'contrib/coccinelle/*.cocci.patch' files > then can be applied both with 'git apply' and 'patch' (even without > '-p0'). > > Signed-off-by: SZEDER Gábor <szeder.dev@gmail.com> > --- > Makefile | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/Makefile b/Makefile > index 73e2d16926..72ea29df4e 100644 > --- a/Makefile > +++ b/Makefile > @@ -564,7 +564,7 @@ SPATCH = spatch > export TCL_PATH TCLTK_PATH > > SPARSE_FLAGS = > -SPATCH_FLAGS = --all-includes > +SPATCH_FLAGS = --all-includes --patch .
Thank you for this! These garbage filenames cause significant pain when trying to apply the suggested patch.