Attempt to find an author if (s)he comes via RT.
authorAbigail <abigail@abigail.be>
Sun, 18 Mar 2012 17:24:23 +0000 (18:24 +0100)
committerAbigail <abigail@abigail.be>
Sun, 18 Mar 2012 17:24:23 +0000 (18:24 +0100)
In the case of commits, it maybe that the reporter used RT, which results
in a generic RT email address. Instead of just reporting the author as '!',
we'll do an attempt to see whether he's named in the AUTHORS file.

Porting/checkAUTHORS.pl

index 6dd7815..ee2594b 100755 (executable)
@@ -329,7 +329,21 @@ sub process {
 sub _raw_address {
     my $addr = shift;
     my $real_name;
-    if ( $addr =~ /<.*>/ ) {
+    if ($addr =~ /(?:\\")?\s*\(via RT\) <perlbug-followup\@perl\.org>$/p) {
+        my $name = ${^PREMATCH};
+        $addr = 'perlbug-followup@perl\.org';
+        #
+        # Try to find the author
+        #
+        while (my ($email, $author_name) = each %authors) {
+            if ($name eq $author_name) {
+                $addr = $email;
+                $real_name = $name;
+                last;
+            }
+        }
+    }
+    elsif ( $addr =~ /<.*>/ ) {
         $addr =~ s/^\s*(.*)\s*<\s*(.*?)\s*>.*$/$2/;
         $real_name = $1;
     }