From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753825Ab1AYOIv (ORCPT ); Tue, 25 Jan 2011 09:08:51 -0500 Received: from mail.perches.com ([173.55.12.10]:3317 "EHLO mail.perches.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753525Ab1AYOIu (ORCPT ); Tue, 25 Jan 2011 09:08:50 -0500 Subject: [PATCH] get_maintainer.pl: Allow "K:" pattern tests to match non-patch text From: Joe Perches To: "L. Alberto" =?ISO-8859-1?Q?Gim=E9nez?= Cc: linux-kernel@vger.kernel.org, Andrew Morton , "David S. Miller" , Florian Mickler , Stephen Hemminger , Wolfram Sang In-Reply-To: <20110125002555.GB13167@bart.evergreen.loc> References: <1295911951-12615-1-git-send-email-agimenez@sysvalve.es> <1295913226.3101.60.camel@Joe-Laptop> <20110125002555.GB13167@bart.evergreen.loc> Content-Type: text/plain; charset="UTF-8" Date: Tue, 25 Jan 2011 06:08:49 -0800 Message-ID: <1295964529.15568.11.camel@Joe-Laptop> Mime-Version: 1.0 X-Mailer: Evolution 2.30.3 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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. Original-patch-by: L. Alberto Giménez Signed-off-by: Joe Perches --- > On Tue, 2011-01-25 at 01:25 +0100, L. Alberto Giménez wrote: > feel free to fix the patch. 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 139e0ff..d29a8d7 100755 --- a/scripts/get_maintainer.pl +++ b/scripts/get_maintainer.pl @@ -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); } }