On Mon, 2020-11-16 at 12:49 +0530, Aditya Srivastava wrote:
> Checkpatch expects entries in MAINTAINERS file in a specific order and
> warns if the changes made do not follow the specified order.
> 
> E.g., running checkpatch on commit 6f736909f0a4 ("MAINTAINERS: Add
> patchwork link for PWM entry") reports this warning:
> 
> WARNING: Misordered MAINTAINERS entry - list 'Q:' before 'T:'
>  T:   git 
> git://git.kernel.org/pub/scm/linux/kernel/git/thierry.reding/linux-pwm.git
> +Q:   https://patchwork.ozlabs.org/project/linux-pwm/list/
> 
> Provide a simple fix by swapping the unordered lines

NAK.

This --fix option can't work if a patch merely adds a single line.
The patch context lines would be wrong.

This has to make sure the both lines are additions (start with +)


> diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
[]
> @@ -3299,13 +3299,22 @@ sub process {
>                                            "Unknown MAINTAINERS entry type: 
> '$cur'\n" . $herecurr);
>                               } else {
>                                       if ($previndex >= 0 && $curindex < 
> $previndex) {
> -                                             WARN("MAINTAINERS_STYLE",
> -                                                  "Misordered MAINTAINERS 
> entry - list '$cur:' before '$prev:'\n" . $hereprev);
> +                                             if (WARN("MAINTAINERS_STYLE",
> +                                                      "Misordered 
> MAINTAINERS entry - list '$cur:' before '$prev:'\n" . $hereprev) &&
> +                                                 $fix) {
> +                                                     # swap these lines
> +                                                     $fixed[$fixlinenr - 1] 
> = $rawline;
> +                                                     $fixed[$fixlinenr] = 
> $prevrawline;
> +                                             }
>                                       } elsif ((($prev eq 'F' && $cur eq 'F') 
> ||
>                                                 ($prev eq 'X' && $cur eq 
> 'X')) &&
>                                                ($prevval cmp $curval) > 0) {
> -                                             WARN("MAINTAINERS_STYLE",
> -                                                  "Misordered MAINTAINERS 
> entry - list file patterns in alphabetic order\n" . $hereprev);
> +                                             if (WARN("MAINTAINERS_STYLE",
> +                                                      "Misordered 
> MAINTAINERS entry - list file patterns in alphabetic order\n" . $hereprev) &&
> +                                                 $fix) {
> +                                                     $fixed[$fixlinenr - 1] 
> = $rawline;
> +                                                     $fixed[$fixlinenr] = 
> $prevrawline;
> +                                             }
>                                       }
>                               }
>                       }


Reply via email to