[Linux-kernel-mentees] [PATCH] checkpatch: disable commit log length check warning for signature tag

Lukas Bulwahn lukas.bulwahn at gmail.com
Mon Jul 27 20:34:37 UTC 2020



On Mon, 27 Jul 2020, Nachiket Naganure wrote:

> On Sun, Jul 26, 2020 at 11:14:42PM -0700, Joe Perches wrote:
> > On Mon, 2020-07-27 at 11:24 +0530, Nachiket Naganure wrote:
> > > Disable commit log length check in case of signature tag. If the commit
> > > log line has valid signature tags such as "Reported-and-tested-by" with
> > > more than 75 characters, suppress the long length warning.
> > > 
> > > For instance in commit ac854131d984 ("USB: core: Fix misleading driver bug
> > > report"), the corresponding patch contains a "Reported by" tag line which
> > > exceeds 75 chars. And there is no valid way to shorten the length.
> > > 
> > > Signed-off-by: Nachiket Naganure <nachiketun8 at gmail.com>
> > > ---
> > >  scripts/checkpatch.pl | 2 ++
> > >  1 file changed, 2 insertions(+)
> > > 
> > > diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
> > > index 197436b20288..46237e9e0550 100755
> > > --- a/scripts/checkpatch.pl
> > > +++ b/scripts/checkpatch.pl
> > > @@ -2806,6 +2806,8 @@ sub process {
> > >  					# filename then :
> > >  		      $line =~ /^\s*(?:Fixes:|Link:)/i ||
> > >  					# A Fixes: or Link: line
> > > +		      $line =~ /$signature_tags/ ||
> > > +					# Check for signature_tags
> > >  		      $commit_log_possible_stack_dump)) {
> > >  			WARN("COMMIT_LOG_LONG_LINE",
> > >  			     "Possible unwrapped commit description (prefer a maximum 75 chars per line)\n" . $herecurr);
> > 
> > OK, but the test should be:
> > 
> > 		      $line =~ /^\s*$signature_tags/ ||
> > 
> > so the line has to start with a signature and
> > it won't match on signature tags in the middle
> > of other content on the same line.
> > 
> > 
> But the suggested won't work in case of merged signatures.
> Such as "Reported-and-tested-by: user at email.com"
> 

But Joe's remark is valid; we do not want to match on signature tags in 
the middle. These cases are probably mentioning signature tags as part of 
a sentence or some explanation.

Nachiket, think about a proper solution for this issue.

The evaluation data from running checkpatch.pl on previous commits will 
provide you some guidance on which heuristics might work and which not.

Lukas


More information about the Linux-kernel-mentees mailing list