X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/702b8721d360ca132ff5c8f43d332757694b98da..65ce866aa99908ce3e4bf964ba2b30e9b718f914:/IkiWiki/Rcs/git.pm

diff --git a/IkiWiki/Rcs/git.pm b/IkiWiki/Rcs/git.pm
index 868bec40d..46adf1657 100644
--- a/IkiWiki/Rcs/git.pm
+++ b/IkiWiki/Rcs/git.pm
@@ -432,41 +432,13 @@ sub rcs_notify () { #{{{
 	}
 
 	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 = "$config{wikiname} update of ";
-	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 ($) { #{{{