]> sipb.mit.edu Git - ikiwiki.git/blobdiff - IkiWiki/Rcs/git.pm
fix user determination for web commits
[ikiwiki.git] / IkiWiki / Rcs / git.pm
index 5f4b090c3d4f27322a3e76b581577b8850eb10db..46adf16579bc02f7945159c9142f8f31ebd41010 100644 (file)
@@ -432,41 +432,13 @@ sub rcs_notify () { #{{{
        }
 
        require IkiWiki::UserInfo;
        }
 
        require IkiWiki::UserInfo;
-       my @email_recipients = commit_notify_list($user, @changed_pages);
-       return if !@email_recipients;
-
-       # TODO: if a commit spans multiple pages, this will send
-       # subscribers a diff that might contain pages they did not
-       # sign up for. Should separate the diff per page and
-       # reassemble into one mail with just the pages subscribed to.
-       my $diff = join "\n", run_or_die('git-diff', "${sha1}^", $sha1);
-
-       my $subject="update of $config{wikiname}'s ";
-       if (@changed_pages > 2) {
-               $subject .= "$changed_pages[0] $changed_pages[1] etc";
-       } else {
-               $subject .= join " ", @changed_pages;
-       }
-       $subject .= " by $user";
-
-       my $template = template("notifymail.tmpl");
-       $template->param(
-               wikiname => $config{wikiname},
-               diff     => $diff,
-               user     => $user,
-               message  => $message,
-       );
-
-       eval q{use Mail::Sendmail};
-       error($@) if $@;
-       foreach my $email (@email_recipients) {
-               sendmail(
-                       To      => $email,
-                       From    => "$config{wikiname} <$config{adminemail}>",
-                       Subject => $subject,
-                       Message => $template->output,
-               ) or error("Failed to send update notification mail: $!");
-       }
+       send_commit_mails(
+               sub {
+                       $message;
+               },
+               sub {
+                       join "\n", run_or_die('git-diff', "${sha1}^", $sha1);
+               }, $user, @changed_pages);
 } #}}}
 
 sub rcs_getctime ($) { #{{{
 } #}}}
 
 sub rcs_getctime ($) { #{{{