Re: [PATCH] checkpatch: add warning for lines starting with a '#' in commit log

From: Joe Perches
Date: Wed Dec 02 2020 - 15:11:29 EST


On Thu, 2020-12-03 at 01:30 +0530, Dwaipayan Ray wrote:
> On Wed, Dec 2, 2020 at 3:45 PM Dwaipayan Ray <dwaipayanray1@xxxxxxxxx> wrote:
> >
> > Commit log lines starting with a '#' can be dropped by git if
> > the corresponding commit message is reworded by a maintainer.
> > This minor error can be easily avoided if checkpatch warns
> > for the same.
> >
> > Add a new check which emits a warning on finding lines starting
> > with a '#'. Also add a quick fix by adding a tab in front of
> > such lines.
> >
> > Suggested-by: Peilin Ye <yepeilin.cs@xxxxxxxxx>
> > Tested-by: Peilin Ye <yepeilin.cs@xxxxxxxxx>
> > Signed-off-by: Dwaipayan Ray <dwaipayanray1@xxxxxxxxx>
> > ---
> >  scripts/checkpatch.pl | 9 +++++++++
> >  1 file changed, 9 insertions(+)
> >
> > diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
> > index e8c1ed0b1fad..a12edcf4f63a 100755
> > --- a/scripts/checkpatch.pl
> > +++ b/scripts/checkpatch.pl
> > @@ -2966,6 +2966,15 @@ sub process {
> >                         $commit_log_possible_stack_dump = 0;
> >                 }
> >
> > +# Check for lines starting with a #
> > + if ($in_commit_log && $line =~ /^#/) {
> > + if (WARN("POSSIBLE_IGNORED_LINE",
> > + "Commit log lines starting with a '#' might be dropped by git.\n" . $herecurr)
> > + && $fix) {
> > + $fixed[$fixlinenr] =~ s/^#/\t#/;
> > + }
> > + }
> > +
> >  # Check for git id commit length and improperly formed commit descriptions
> >                 if ($in_commit_log && !$commit_log_possible_stack_dump &&
> >                     $line !~ /^\s*(?:Link|Patchwork|http|https|BugLink|base-commit):/i &&
> > --
> > 2.27.0
> >
> Hi,
> This patch may seem trivial but I wanted to send it to you for review
> nevertheless.
>
> Peilin had earlier faced this problem in one of his patches which was
> mainlined. There were some '#define' lines in the commit log. Due to
> some reason the Maintainer had to reword the commit message, and
> ultimately those '#define' lines were lost in the tree that was merged.
>
> I am not sure if it would be exactly helpful for regular committers but for
> new contributers it might be nice to avoid such a mistake. Do you think
> it deserves inclusion in checkpatch?

Even regular committers face this.

Please fix the && $fix so that the && is at EOL and change the
'might be dropped' to 'will be dropped by git as a comment' and
remove the period.

"POSSIBLE_IGNORED_LINE" could be something like "COMMIT_COMMENT_SYMBOL".