diff options
Diffstat (limited to 'scripts/get_maintainer.pl')
-rwxr-xr-x | scripts/get_maintainer.pl | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/scripts/get_maintainer.pl b/scripts/get_maintainer.pl index 139e0fff8e31..d29a8d75cb22 100755 --- a/scripts/get_maintainer.pl +++ b/scripts/get_maintainer.pl | |||
@@ -420,6 +420,14 @@ foreach my $file (@ARGV) { | |||
420 | 420 | ||
421 | open(my $patch, "< $file") | 421 | open(my $patch, "< $file") |
422 | or die "$P: Can't open $file: $!\n"; | 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 | while (<$patch>) { | 431 | while (<$patch>) { |
424 | my $patch_line = $_; | 432 | my $patch_line = $_; |
425 | if (m/^\+\+\+\s+(\S+)/) { | 433 | if (m/^\+\+\+\s+(\S+)/) { |
@@ -428,13 +436,14 @@ foreach my $file (@ARGV) { | |||
428 | $filename =~ s@\n@@; | 436 | $filename =~ s@\n@@; |
429 | $lastfile = $filename; | 437 | $lastfile = $filename; |
430 | push(@files, $filename); | 438 | push(@files, $filename); |
439 | $patch_prefix = "^[+-].*"; #Now parsing the actual patch | ||
431 | } elsif (m/^\@\@ -(\d+),(\d+)/) { | 440 | } elsif (m/^\@\@ -(\d+),(\d+)/) { |
432 | if ($email_git_blame) { | 441 | if ($email_git_blame) { |
433 | push(@range, "$lastfile:$1:$2"); | 442 | push(@range, "$lastfile:$1:$2"); |
434 | } | 443 | } |
435 | } elsif ($keywords) { | 444 | } elsif ($keywords) { |
436 | foreach my $line (keys %keyword_hash) { | 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 | push(@keyword_tvi, $line); | 447 | push(@keyword_tvi, $line); |
439 | } | 448 | } |
440 | } | 449 | } |