Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7764dcb5 authored by Joe Perches's avatar Joe Perches Committed by Linus Torvalds
Browse files

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: default avatarJoe Perches <joe@perches.com>
Original-patch-by: default avatarL. Alberto Giménez <agimenez@sysvalve.es>
Acked-by: default avatarL. Alberto Giménez <agimenez@sysvalve.es>

Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 5af5bcb8
Loading
Loading
Loading
Loading
+10 −1
Original line number Diff line number Diff line
@@ -420,6 +420,14 @@ foreach my $file (@ARGV) {

	open(my $patch, "< $file")
	    or die "$P: Can't open $file: $!\n";

	# We can check arbitrary information before the patch
	# like the commit message, mail headers, etc...
	# This allows us to match arbitrary keywords against any part
	# of a git format-patch generated file (subject tags, etc...)

	my $patch_prefix = "";			#Parsing the intro

	while (<$patch>) {
	    my $patch_line = $_;
	    if (m/^\+\+\+\s+(\S+)/) {
@@ -428,13 +436,14 @@ foreach my $file (@ARGV) {
		$filename =~ s@\n@@;
		$lastfile = $filename;
		push(@files, $filename);
		$patch_prefix = "^[+-].*";	#Now parsing the actual patch
	    } elsif (m/^\@\@ -(\d+),(\d+)/) {
		if ($email_git_blame) {
		    push(@range, "$lastfile:$1:$2");
		}
	    } elsif ($keywords) {
		foreach my $line (keys %keyword_hash) {
		    if ($patch_line =~ m/^[+-].*$keyword_hash{$line}/x) {
		    if ($patch_line =~ m/${patch_prefix}$keyword_hash{$line}/x) {
			push(@keyword_tvi, $line);
		    }
		}