Commit 7764dcb53473e5665ab3cdc461ccfc510fce925e

Authored by Joe Perches
Committed by Linus Torvalds
1 parent 5af5bcb8d3

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 }