summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexander D. Kanevskiy <kad@kad.name>2013-08-17 00:15:23 +0300
committerDavid Pursehouse <david.pursehouse@sonymobile.com>2013-08-17 10:19:28 +0000
commitcdff6cfc4f84c0c55593d295425eb2d3941773e0 (patch)
tree7ee1a36219d911023738305ae22c4f52fefbf1b9
parent560beb5079df6fa4d14fa2dbd68566ce429f8c5b (diff)
Mark ALREADY_MERGED changes as merged in the DB and run hooks
If a change in the merge queue is marked ALREADY_MERGED, it is likely a result of a bug in the merge code. It means the change has been merged, but neither properly marked as such in the DB nor propagated to hooks for sending email notifications or being mentioned in stream-events. Calling setMerged() instead of setMergedPatchSet() properly marks the change as merged in the database and runs hooks for sending emails and events. This is an improved version of I44548cce039e303a86d579b0b0d76b12ad9bdcfb and fix for issue 2044. Bug: issue 2044 Change-Id: I4e95a74e58ff51a54ed54a02298c719e19f6fd0d
-rw-r--r--gerrit-server/src/main/java/com/google/gerrit/server/git/MergeOp.java2
1 files changed, 1 insertions, 1 deletions
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/git/MergeOp.java b/gerrit-server/src/main/java/com/google/gerrit/server/git/MergeOp.java
index 9715d9c47f..d86e48c3d2 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/git/MergeOp.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/git/MergeOp.java
@@ -599,7 +599,7 @@ public class MergeOp {
if (rw.isMergedInto(commit, branchTip)) {
commit.statusCode = CommitMergeStatus.ALREADY_MERGED;
try {
- setMergedPatchSet(chg.getId(), ps.getId());
+ setMerged(chg, null);
} catch (OrmException e) {
log.error("Cannot mark change " + chg.getId() + " merged", e);
}