On 19.04.2018 11:11, Stefan Hajnoczi wrote:
> From: Joe Perches <j...@perches.com>
> 
> Some find using utf-8 in commit logs inappropriate.
> 
> Some patch commit logs contain unintended utf-8 characters when doing
> things like copy/pasting compilation output.
> 
> Look for the start of any commit log by skipping initial lines that look
> like email headers and "From: " lines.
> 
> Stop looking for utf-8 at the first signature line.
> 
> Signed-off-by: Joe Perches <j...@perches.com>
> Suggested-by: Andrew Morton <a...@linux-foundation.org>
> Cc: Andy Whitcroft <a...@shadowen.org>
> Signed-off-by: Andrew Morton <a...@linux-foundation.org>
> Signed-off-by: Linus Torvalds <torva...@linux-foundation.org>
> (cherry picked from commit 15662b3e8644905032c2e26808401a487d4e90c1)
> Signed-off-by: Stefan Hajnoczi <stefa...@redhat.com>
> ---
>  scripts/checkpatch.pl | 31 +++++++++++++++++++++++++++----
>  1 file changed, 27 insertions(+), 4 deletions(-)
> 
> diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
> index d52207a3cc..2d28db03a0 100755
> --- a/scripts/checkpatch.pl
> +++ b/scripts/checkpatch.pl
[...]
> @@ -1397,6 +1405,21 @@ sub process {
>                       ERROR("Invalid UTF-8, patch and commit message should 
> be encoded in UTF-8\n" . $hereptr);
>               }
>  
> +# Check if it's the start of a commit log
> +# (not a header line and we haven't seen the patch filename)
> +             if ($in_header_lines && $realfile =~ /^$/ &&
> +                 $rawline !~ /^(commit\b|from\b|\w+:).+$/i) {
> +                     $in_header_lines = 0;
> +                     $in_commit_log = 1;
> +             }
> +
> +# Still not yet in a patch, check for any UTF-8
> +             if ($in_commit_log && $realfile =~ /^$/ &&
> +                 $rawline =~ /$NON_ASCII_UTF8/) {
> +                     CHK("UTF8_BEFORE_PATCH",
> +                         "8-bit UTF-8 used in possible commit log\n" . 
> $herecurr);
> +             }

As far as I can see, we don't have that CHK() function in our version of
checkpatch.pl yet, so you'd either have to turn that into a WARN or port
the CHK() function, too?

 Thomas

Reply via email to