]> Lady’s Gitweb - Gitweb/blobdiff - gitweb.perl
gitweb: Add author and contributor email to Atom feed
[Gitweb] / gitweb.perl
index 0fac8e25f2d91302e77b173ce4ad1cf9d22c74de3ff475e70731df5b8089ff9c..b9d1c09f856ca0d238b6e1a3f18e275b6695cbd21c3b32fcc0aec421bd72a8c2 100755 (executable)
@@ -1295,8 +1295,9 @@ sub parse_commit {
                        $co{'author'} = $1;
                        $co{'author_epoch'} = $2;
                        $co{'author_tz'} = $3;
-                       if ($co{'author'} =~ m/^([^<]+) </) {
-                               $co{'author_name'} = $1;
+                       if ($co{'author'} =~ m/^([^<]+) <([^>]*)>/) {
+                               $co{'author_name'}  = $1;
+                               $co{'author_email'} = $2;
                        } else {
                                $co{'author_name'} = $co{'author'};
                        }
@@ -1305,7 +1306,12 @@ sub parse_commit {
                        $co{'committer_epoch'} = $2;
                        $co{'committer_tz'} = $3;
                        $co{'committer_name'} = $co{'committer'};
-                       $co{'committer_name'} =~ s/ <.*//;
+                       if ($co{'committer'} =~ m/^([^<]+) <([^>]*)>/) {
+                               $co{'committer_name'}  = $1;
+                               $co{'committer_email'} = $2;
+                       } else {
+                               $co{'committer_name'} = $co{'committer'};
+                       }
                }
        }
        if (!defined $co{'tree'}) {
@@ -4318,9 +4324,19 @@ XML
                        print "<entry>\n" .
                              "<title type=\"html\">" . esc_html($co{'title'}) . "</title>\n" .
                              "<updated>$cd{'iso-8601'}</updated>\n" .
-                             "<author><name>" . esc_html($co{'author_name'}) . "</name></author>\n" .
+                             "<author>\n" .
+                             "  <name>" . esc_html($co{'author_name'}) . "</name>\n";
+                       if ($co{'author_email'}) {
+                               print "  <email>" . esc_html($co{'author_email'}) . "</email>\n";
+                       }
+                       print "</author>\n" .
                              # use committer for contributor
-                             "<contributor><name>" . esc_html($co{'committer_name'}) . "</name></contributor>\n" .
+                             "<contributor>\n" .
+                             "  <name>" . esc_html($co{'committer_name'}) . "</name>\n";
+                       if ($co{'committer_email'}) {
+                               print "  <email>" . esc_html($co{'committer_email'}) . "</email>\n";
+                       }
+                       print "</contributor>\n" .
                              "<published>$cd{'iso-8601'}</published>\n" .
                              "<link rel=\"alternate\" type=\"text/html\" href=\"$co_url\" />\n" .
                              "<id>$co_url</id>\n" .
This page took 0.239692 seconds and 4 git commands to generate.