Commit 7764dcb53473e5665ab3cdc461ccfc510fce925e
Committed by
Linus Torvalds
1 parent
5af5bcb8d3
Exists in
master
and in
20 other branches
get_maintainer.pl: allow "K:" pattern tests to match non-patch text
Extend the usage of the K section in the MAINTAINERS file to support matching regular expressions to any arbitrary text that may precede the patch itself. For example, the commit message or mail headers generated by git-format-patch. Signed-off-by: Joe Perches <joe@perches.com> Original-patch-by: L. Alberto Giménez <agimenez@sysvalve.es> Acked-by: L. Alberto Giménez <agimenez@sysvalve.es> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Showing 1 changed file with 10 additions and 1 deletions Side-by-side Diff
scripts/get_maintainer.pl
... | ... | @@ -420,6 +420,14 @@ |
420 | 420 | |
421 | 421 | open(my $patch, "< $file") |
422 | 422 | or die "$P: Can't open $file: $!\n"; |
423 | + | |
424 | + # We can check arbitrary information before the patch | |
425 | + # like the commit message, mail headers, etc... | |
426 | + # This allows us to match arbitrary keywords against any part | |
427 | + # of a git format-patch generated file (subject tags, etc...) | |
428 | + | |
429 | + my $patch_prefix = ""; #Parsing the intro | |
430 | + | |
423 | 431 | while (<$patch>) { |
424 | 432 | my $patch_line = $_; |
425 | 433 | if (m/^\+\+\+\s+(\S+)/) { |
426 | 434 | |
... | ... | @@ -428,13 +436,14 @@ |
428 | 436 | $filename =~ s@\n@@; |
429 | 437 | $lastfile = $filename; |
430 | 438 | push(@files, $filename); |
439 | + $patch_prefix = "^[+-].*"; #Now parsing the actual patch | |
431 | 440 | } elsif (m/^\@\@ -(\d+),(\d+)/) { |
432 | 441 | if ($email_git_blame) { |
433 | 442 | push(@range, "$lastfile:$1:$2"); |
434 | 443 | } |
435 | 444 | } elsif ($keywords) { |
436 | 445 | foreach my $line (keys %keyword_hash) { |
437 | - if ($patch_line =~ m/^[+-].*$keyword_hash{$line}/x) { | |
446 | + if ($patch_line =~ m/${patch_prefix}$keyword_hash{$line}/x) { | |
438 | 447 | push(@keyword_tvi, $line); |
439 | 448 | } |
440 | 449 | } |