In order to support the get-lore-mbox.py tool described in [1], I ran:
git format-patch --base=<commit> --cover-letter <revrange>
...which generated a "base-commit: <commit-hash>" tag at the end of the
cover letter. However, checkpatch.pl generated an error upon encounting
"base-commit:" in the cover letter:
"ERROR: Please use git commit description style..."
...because it found the "commit" keyword, and failed to recognize that
it was part of the "base-commit" phrase, and as such, should not be
subjected to the same commit description style rules.
Update checkpatch.pl to include a special case for "base-commit:", so
that that tag no longer generates a checkpatch error.
[1] https://lwn.net/Articles/811528/ "Better tools for kernel
developers"
Cc: Andy Whitcroft <[email protected]>
Cc: Joe Perches <[email protected]>
Cc: Konstantin Ryabitsev <[email protected]>
Cc: Jonathan Corbet <[email protected]>
Signed-off-by: John Hubbard <[email protected]>
---
scripts/checkpatch.pl | 1 +
1 file changed, 1 insertion(+)
diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index a63380c6b0d2..f241865cedb3 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -2761,6 +2761,7 @@ sub process {
# Check for git id commit length and improperly formed commit descriptions
if ($in_commit_log && !$commit_log_possible_stack_dump &&
+ $line !~ /base-commit:/ &&
$line !~ /^\s*(?:Link|Patchwork|http|https|BugLink):/i &&
$line !~ /^This reverts commit [0-9a-f]{7,40}/ &&
($line =~ /\bcommit\s+[0-9a-f]{5,}\b/i ||
--
2.25.0
On Wed, 2020-02-12 at 15:32 -0800, John Hubbard wrote:
> In order to support the get-lore-mbox.py tool described in [1], I ran:
>
> git format-patch --base=<commit> --cover-letter <revrange>
>
> ...which generated a "base-commit: <commit-hash>" tag at the end of the
> cover letter. However, checkpatch.pl generated an error upon encounting
> "base-commit:" in the cover letter:
>
> "ERROR: Please use git commit description style..."
>
> ...because it found the "commit" keyword, and failed to recognize that
> it was part of the "base-commit" phrase, and as such, should not be
> subjected to the same commit description style rules.
>
> Update checkpatch.pl to include a special case for "base-commit:", so
> that that tag no longer generates a checkpatch error.
>
> [1] https://lwn.net/Articles/811528/ "Better tools for kernel
> developers"
>
> Cc: Andy Whitcroft <[email protected]>
> Cc: Joe Perches <[email protected]>
> Cc: Konstantin Ryabitsev <[email protected]>
> Cc: Jonathan Corbet <[email protected]>
> Signed-off-by: John Hubbard <[email protected]>
> ---
> scripts/checkpatch.pl | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
> index a63380c6b0d2..f241865cedb3 100755
> --- a/scripts/checkpatch.pl
> +++ b/scripts/checkpatch.pl
> @@ -2761,6 +2761,7 @@ sub process {
>
> # Check for git id commit length and improperly formed commit descriptions
> if ($in_commit_log && !$commit_log_possible_stack_dump &&
> + $line !~ /base-commit:/ &&
If this base-commit: entry is only at the start of line,
I presume this should actually be
$line !~ /^base-commit:/ &&
or maybe
$line !~ /^\s*base-commit:/ &&
> $line !~ /^\s*(?:Link|Patchwork|http|https|BugLink):/i &&
> $line !~ /^This reverts commit [0-9a-f]{7,40}/ &&
> ($line =~ /\bcommit\s+[0-9a-f]{5,}\b/i ||
On Wed, 2020-02-12 at 17:06 -0800, Joe Perches wrote:
> On Wed, 2020-02-12 at 15:32 -0800, John Hubbard wrote:
> > In order to support the get-lore-mbox.py tool described in [1], I ran:
> >
> > git format-patch --base=<commit> --cover-letter <revrange>
> >
> > ...which generated a "base-commit: <commit-hash>" tag at the end of the
> > cover letter. However, checkpatch.pl generated an error upon encounting
> > "base-commit:" in the cover letter:
> >
> > "ERROR: Please use git commit description style..."
> >
> > ...because it found the "commit" keyword, and failed to recognize that
> > it was part of the "base-commit" phrase, and as such, should not be
> > subjected to the same commit description style rules.
> >
> > Update checkpatch.pl to include a special case for "base-commit:", so
> > that that tag no longer generates a checkpatch error.
[]
> > diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
[]
> > @@ -2761,6 +2761,7 @@ sub process {
> >
> > # Check for git id commit length and improperly formed commit descriptions
> > if ($in_commit_log && !$commit_log_possible_stack_dump &&
> > + $line !~ /base-commit:/ &&
>
> If this base-commit: entry is only at the start of line,
> I presume this should actually be
>
> $line !~ /^base-commit:/ &&
> or maybe
> $line !~ /^\s*base-commit:/ &&
>
> > $line !~ /^\s*(?:Link|Patchwork|http|https|BugLink):/i &&
and probably better to just add it to this line instead like
$line !~ /^\s*(?:Link|Patchwork|http|https|BugLink|base-commit):/i &&
On 2/12/20 5:32 PM, Joe Perches wrote:
> On Wed, 2020-02-12 at 17:06 -0800, Joe Perches wrote:
>> On Wed, 2020-02-12 at 15:32 -0800, John Hubbard wrote:
>>> In order to support the get-lore-mbox.py tool described in [1], I ran:
>>>
>>> git format-patch --base=<commit> --cover-letter <revrange>
>>>
>>> ...which generated a "base-commit: <commit-hash>" tag at the end of the
>>> cover letter. However, checkpatch.pl generated an error upon encounting
>>> "base-commit:" in the cover letter:
>>>
>>> "ERROR: Please use git commit description style..."
>>>
>>> ...because it found the "commit" keyword, and failed to recognize that
>>> it was part of the "base-commit" phrase, and as such, should not be
>>> subjected to the same commit description style rules.
>>>
>>> Update checkpatch.pl to include a special case for "base-commit:", so
>>> that that tag no longer generates a checkpatch error.
> []
>>> diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
> []
>>> @@ -2761,6 +2761,7 @@ sub process {
>>>
>>> # Check for git id commit length and improperly formed commit descriptions
>>> if ($in_commit_log && !$commit_log_possible_stack_dump &&
>>> + $line !~ /base-commit:/ &&
>>
>> If this base-commit: entry is only at the start of line,
As far as I can tell, we should be able to rely on that, yes.
>> I presume this should actually be
>>
>> $line !~ /^base-commit:/ &&
>> or maybe
>> $line !~ /^\s*base-commit:/ &&
>>
>>> $line !~ /^\s*(?:Link|Patchwork|http|https|BugLink):/i &&
>
> and probably better to just add it to this line instead like
>
> $line !~ /^\s*(?:Link|Patchwork|http|https|BugLink|base-commit):/i &&
>
Yes, that looks nice. I'll send a v2 doing it that way.
thanks,
--
John Hubbard
NVIDIA