From 65cfc434536a2a142c2521961d89d8dd69aef7db Mon Sep 17 00:00:00 2001 From: David Keitel Date: Wed, 23 Mar 2016 20:52:44 -0700 Subject: [PATCH] checkpatch: warn on long summary, commit text lines Warn on summary or commit text lines greater than 75 characters. The summary and commit text are indented and may wrap on a terminal if they are longer than 75 characters. Change-Id: I37b13dc870cb797980ffdd978ebf3e15bb624afa Signed-off-by: David Keitel Signed-off-by: Rishabh Bhatnagar --- scripts/checkpatch.pl | 42 +++++++++++++++++++++++++++++++++++++++++- 1 file changed, 41 insertions(+), 1 deletion(-) diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl index 9ccdb31c8a32..47cc17673b85 100755 --- a/scripts/checkpatch.pl +++ b/scripts/checkpatch.pl @@ -15,6 +15,11 @@ use Cwd 'abs_path'; use Term::ANSIColor qw(:constants); use Encode qw(decode encode); +use constant BEFORE_SHORTTEXT => 0; +use constant IN_SHORTTEXT => 1; +use constant AFTER_SHORTTEXT => 2; +use constant SHORTTEXT_LIMIT => 75; + my $P = $0; my $D = dirname(abs_path($P)); @@ -2333,6 +2338,8 @@ sub process { my $setup_docs = 0; my $camelcase_file_seeded = 0; + my $shorttext = BEFORE_SHORTTEXT; + my $shorttext_exspc = 0; my $checklicenseline = 1; @@ -2551,13 +2558,46 @@ sub process { next; } - $here .= "FILE: $realfile:$realline:" if ($realcnt != 0); my $hereline = "$here\n$rawline\n"; my $herecurr = "$here\n$rawline\n"; my $hereprev = "$here\n$prevrawline\n$rawline\n"; + if ($shorttext != AFTER_SHORTTEXT) { + if ($shorttext == IN_SHORTTEXT) { + if ($line=~/^---/ || $line=~/^diff.*/) { + $shorttext = AFTER_SHORTTEXT; + } elsif (length($line) > (SHORTTEXT_LIMIT + + $shorttext_exspc) + && $line !~ /^:([0-7]{6}\s){2} + ([[:xdigit:]]+\.* + \s){2}\w+\s\w+/xms) { + WARN("LONG_COMMIT_TEXT", + "commit text line over " . + SHORTTEXT_LIMIT . + " characters\n" . $herecurr); + } + } elsif ($line=~/^Subject: \[[^\]]*\] (.*)/) { + $shorttext = IN_SHORTTEXT; + if (length($1) > SHORTTEXT_LIMIT) { + WARN("LONG_SUMMARY_LINE", + "summary line over " . + SHORTTEXT_LIMIT . + " characters\n" . $herecurr); + } + } elsif ($line=~/^ (.*)/) { + $shorttext = IN_SHORTTEXT; + $shorttext_exspc = 4; + if (length($1) > SHORTTEXT_LIMIT) { + WARN("LONG_SUMMARY_LINE", + "summary line over " . + SHORTTEXT_LIMIT . + " characters\n" . $herecurr); + } + } + } + $cnt_lines++ if ($realcnt != 0); # Verify the existence of a commit log if appropriate