Re: [PATCH] checkpatch: add check for fixes: tag

From: niklas.soderlund@xxxxxxxxxxxx
Date: Thu Sep 08 2022 - 10:42:17 EST


Hi Philippe,

Thanks for adding me to CC.

I missed this mail earlier today when I sent out v3 so I could not add
you to CC, sorry about that. Please check [1] and I be sure to CC you if
there is a v4.

1. https://lore.kernel.org/linux-doc/20220908114325.4153436-1-niklas.soderlund@xxxxxxxxxxxx/

On 2022-09-08 10:01:38 +0000, Philippe Schenker wrote:
> On Wed, 2022-09-07 at 08:18 -0700, Joe Perches wrote:
> > On Wed, 2022-09-07 at 14:35 +0200, Philippe Schenker wrote:
> > > From: Philippe Schenker <philippe.schenker@xxxxxxxxxxx>
> > >
> > > The page about submitting patches in
> > > Documentation/process/submitting-patches.rst is very specific on how
> > > that
> > > tag should be formatted: 'Fixes: <12+ chars of sha1> (\"<title
> > > line>\")'
> > >
> > > Add a rule that warns if this format does not match. This commit is
> > > introduced as in the past commits have been sent multiple times with
> > > having the word commit also in the Fixes: tag which had to be
> > > corrected
> > > by the maintainers. [1]
> >
> > I preferred your first patch that added the commit description match
> > as that's a fairly common defect.
>
> Hi Joe, thanks for your review!
>
> This patch is my first one that I'm sending. I was not aware that Niklas
> sent the exact same thing few days earlier. Maybe you mix these two
> submissions. [1]
>
> How do we proceed? I guess it is up to you which approach you like
> better. Niklas has good parts in his submission which I could take in or
> I contribute in his v2 of the patch.
>
> Certainly, this shows that the check we're trying to add is helpful 🙂.
>
> Anyway, I'll answer your comments that not already got answered by
> Stephen.
>
> [1]
> https://lore.kernel.org/all/20220905105247.920676-1-niklas.soderlund@xxxxxxxxxxxx/
>
> >
> > > diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
> > []
> > > @@ -3438,6 +3438,13 @@ sub process {
> > >                         }
> > >                 }
> > >  
> > > +# Check fixes tag format
> > > +               if ($in_commit_log && ($line =~ /^\s*Fixes:/i) &&
> > > +                       !($line =~ /^\s*Fixes:\s[0-9a-
> > > f]{12,40}\s\(\".*\"\)/)) {
> >
> > All fixes lines should start in the first column.
>
> Agree, I didn't want to make it too strict but this can be easily
> changed of course.
>
> >
> > This allows spaces at the start of the line and the only white space
> > allowed after Fixes: and after the SHA1 should be a space not a tab.
>
> Agree too, I'll change the regexp accordingly if you decide to go with
> my submission.
>
> >
> > I think the test better if it checks for a SHA1 after fixes.
> >
> > And IMO
> >
> >         !(foo =~ /bar.../)
> >
> > is better written as
> >
> >         foo !~ /bar.../
> >
> > so
> >
> >                 if ($in_commit_log &&
> >                     $line =~ /^\s*Fixes:?\s*[0-9a-f]{5,}\b/i &&
> >                     $line !~ /^Fixes: [0-9a-f]{12,40} \(\".*\"\)/)) {
> >
> > Though it's arguable that the SHA1 should _only_ be length 12
> > and not longer.
> >
>

--
Kind Regards,
Niklas Söderlund