Re: [PATCH 1/3] checkpatch: Improve output with multiple command-line files

From: Petr Mladek
Date: Thu Jun 04 2015 - 08:03:38 EST


On Wed 2015-06-03 08:53:38, Joe Perches wrote:
> If there are multiple patches/files on the command line,
> use a prefix before the patch/file message output like:
> --------------
> patch/filename
> --------------
> to make the identifying which messages go with which
> file/patch a bit easier to parse.
>
> Move the perl version and false positive messages after
> all the files have been scanned so that they are emitted
> only once.
>
> Standardize the NOTE: <...> form to always emit a blank
> line before the NOTE and always use print << "EOM" style.
>
> Suggested-by: Petr Mladek <pmladek@xxxxxxx>
> Signed-off-by: Joe Perches <joe@xxxxxxxxxxx>

Tested-by: Petr Mladek <pmladek@xxxxxxx>

One has to get used to the output but it is better readable, definitely.

> ---
> scripts/checkpatch.pl | 62 ++++++++++++++++++++++++++++++++-------------------
> 1 file changed, 39 insertions(+), 23 deletions(-)
>
> diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
> index c8032a0..eaa76bd 100755
> --- a/scripts/checkpatch.pl
> +++ b/scripts/checkpatch.pl
> @@ -197,11 +197,11 @@ sub hash_show_words {
> my ($hashRef, $prefix) = @_;
>
> if ($quiet == 0 && keys %$hashRef) {
> - print "NOTE: $prefix message types:";
> + print "\nNOTE: $prefix message types:";
> foreach my $word (sort keys %$hashRef) {
> print " $word";
> }
> - print "\n\n";
> + print "\n";
> }
> }
>
> @@ -741,6 +741,13 @@ for my $filename (@ARGV) {
> push(@rawlines, $_);
> }
> close($FILE);
> +
> + if ($#ARGV > 0 && $quiet == 0) {
> + print '-' x length($vname) . "\n";
> + print "$vname\n";
> + print '-' x length($vname) . "\n";
> + }
> +
> if (!process($filename)) {
> $exit = 1;
> }
> @@ -755,6 +762,23 @@ for my $filename (@ARGV) {
> build_types();
> }
>
> +if (!$quiet) {
> + if ($^V lt 5.10.0) {
> + print << "EOM"
> +
> +NOTE: perl $^V is not modern enough to detect all possible issues.
> + An upgrade to at least perl v5.10.0 is suggested.
> +EOM
> + }
> + if ($exit) {
> + print << "EOM"
> +
> +NOTE: If any of the errors are false positives, please report
> + them to the maintainer, see CHECKPATCH in MAINTAINERS.
> +EOM
> + }
> +}
> +
> exit($exit);
>
> sub top_of_kernel_tree {
> @@ -5578,22 +5602,18 @@ sub process {
> print "total: $cnt_error errors, $cnt_warn warnings, " .
> (($check)? "$cnt_chk checks, " : "") .
> "$cnt_lines lines checked\n";
> - print "\n" if ($quiet == 0);
> }
>
> if ($quiet == 0) {
> -
> - if ($^V lt 5.10.0) {
> - print("NOTE: perl $^V is not modern enough to detect all possible issues.\n");
> - print("An upgrade to at least perl v5.10.0 is suggested.\n\n");
> - }
> -
> # If there were whitespace errors which cleanpatch can fix
> # then suggest that.
> if ($rpt_cleaners) {
> - print "NOTE: whitespace errors detected, you may wish to use scripts/cleanpatch or\n";
> - print " scripts/cleanfile\n\n";
> $rpt_cleaners = 0;
> + print << "EOM"
> +
> +NOTE: Whitespace errors detected.
> + You may wish to use scripts/cleanpatch or scripts/cleanfile
> +EOM

It would make sense to write this message only once as well.

Best Regards,
Petr

> }
> }
>
> @@ -5627,6 +5647,7 @@ sub process {
>
> if (!$quiet) {
> print << "EOM";
> +
> Wrote EXPERIMENTAL --fix correction(s) to '$newfile'
>
> Do _NOT_ trust the results written to this file.
> @@ -5634,22 +5655,17 @@ Do _NOT_ submit these changes without inspecting them for correctness.
>
> This EXPERIMENTAL file is simply a convenience to help rewrite patches.
> No warranties, expressed or implied...
> -
> EOM
> }
> }
>
> - if ($clean == 1 && $quiet == 0) {
> - print "$vname has no obvious style problems and is ready for submission.\n"
> - }
> - if ($clean == 0 && $quiet == 0) {
> - print << "EOM";
> -$vname has style problems, please review.
> -
> -If any of these errors are false positives, please report
> -them to the maintainer, see CHECKPATCH in MAINTAINERS.
> -EOM
> + if ($quiet == 0) {
> + print "\n";
> + if ($clean == 1) {
> + print "$vname has no obvious style problems and is ready for submission.\n";
> + } else {
> + print "$vname has style problems, please review.\n";
> + }
> }
> -
> return $clean;
> }
> --
> 2.1.2
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/