Send email notification when commit message is edited

When a user edits the commit message through the Gerrit web UI,
send a notification email.

Change-Id: I6f2d840f362d82af25960fb4f1891eee040de9a6
This commit is contained in:
David Pursehouse
2012-12-03 16:34:55 +09:00
parent 9db5173318
commit 666aa8fd4b
7 changed files with 117 additions and 1 deletions

View File

@@ -29,6 +29,7 @@ import com.google.gerrit.server.config.TrackingFooters;
import com.google.gerrit.server.extensions.events.GitReferenceUpdated;
import com.google.gerrit.server.git.GitRepositoryManager;
import com.google.gerrit.server.git.MergeOp;
import com.google.gerrit.server.mail.CommitMessageEditedSender;
import com.google.gerrit.server.mail.EmailException;
import com.google.gerrit.server.mail.RevertedSender;
import com.google.gerrit.server.patch.PatchSetInfoFactory;
@@ -305,6 +306,7 @@ public class ChangeUtil {
public static Change.Id editCommitMessage(final PatchSet.Id patchSetId,
final IdentifiedUser user, final String message, final ReviewDb db,
final CommitMessageEditedSender.Factory commitMessageEditedSenderFactory,
final ChangeHooks hooks, GitRepositoryManager gitManager,
final PatchSetInfoFactory patchSetInfoFactory,
final GitReferenceUpdated replication, PersonIdent myIdent)
@@ -426,6 +428,11 @@ public class ChangeUtil {
cmsg.setMessage(msg);
db.changeMessages().insert(Collections.singleton(cmsg));
db.commit();
final CommitMessageEditedSender cm = commitMessageEditedSenderFactory.create(change);
cm.setFrom(user.getAccountId());
cm.setChangeMessage(cmsg);
cm.send();
} finally {
db.rollback();
}