coccinelle: put sane filenames into output patches
commitf57d11728d10ac1db9b0d44f01984cb3f6967ed2
authorSZEDER Gábor <szeder.dev@gmail.com>
Mon, 23 Jul 2018 13:50:59 +0000 (23 15:50 +0200)
committerJunio C Hamano <gitster@pobox.com>
Mon, 23 Jul 2018 19:38:16 +0000 (23 12:38 -0700)
tree2fcd07fd3a75f7258ba2057a95e707b9ed41e339
parentac1e31d5ca8cacaf8aade744d1a44bfb977b2da2
coccinelle: put sane filenames into output patches

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>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Makefile