aboutsummaryrefslogtreecommitdiffstats
path: root/scripts/get_maintainer.pl
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/get_maintainer.pl')
-rwxr-xr-xscripts/get_maintainer.pl11
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 }