aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJukka Jokiniva <jukka.jokiniva@qt.io>2019-06-17 09:16:58 +0300
committerJukka Jokiniva <jukka.jokiniva@qt.io>2019-06-17 07:08:22 +0000
commit737271991a867c1b1f0865eea6794ec17a97bfbd (patch)
treeeb551451085688e8c1173831c155067e79cd238a
parent35e278e9a75ae30cc8779f8cb65265a05a301ecf (diff)
Fix extra email sending in merge commits
Fixes: QTQAINFRA-3051 Change-Id: I1cdd156aa3f621c6019c03df72610e996c9f3bc8 Reviewed-by: Paul Wicking <paul.wicking@qt.io> Reviewed-by: Kari Oikarinen <kari.oikarinen@qt.io>
-rw-r--r--src/main/java/com/googlesource/gerrit/plugins/qtcodereview/QtCommandBuildApprove.java11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/main/java/com/googlesource/gerrit/plugins/qtcodereview/QtCommandBuildApprove.java b/src/main/java/com/googlesource/gerrit/plugins/qtcodereview/QtCommandBuildApprove.java
index 872c59c..4dcfa4e 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/qtcodereview/QtCommandBuildApprove.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/qtcodereview/QtCommandBuildApprove.java
@@ -50,8 +50,10 @@ import java.io.IOException;
import java.io.InputStreamReader;
import java.sql.Timestamp;
import java.util.Arrays;
+import java.util.ArrayList;
import java.util.List;
import java.util.Map.Entry;
+import java.util.Map;
/**
@@ -246,20 +248,25 @@ class QtCommandBuildApprove extends SshCommand {
String tag,
Boolean passed)
throws UpdateException, RestApiException, OrmException {
+
+ List<Entry<ChangeData,RevCommit>> emailingList = new ArrayList<Map.Entry<ChangeData, RevCommit>>();
+
// do the db update
QtChangeUpdateOp op = qtUpdateFactory.create(status, oldStatus, changeMessage, null, tag, null);
try (BatchUpdate u = updateFactory.create(dbProvider.get(), projectKey, user, TimeUtil.nowTs())) {
for (Entry<ChangeData,RevCommit> item : list) {
Change change = item.getKey().change();
- if (oldStatus == null || change.getStatus() == oldStatus) {
+ if ((oldStatus == null || change.getStatus() == oldStatus)
+ && change.getStatus() != Change.Status.MERGED) {
u.addOp(change.getId(), op);
+ emailingList.add(item);
}
}
u.execute();
}
// do rest
- for (Entry<ChangeData,RevCommit> item : list) {
+ for (Entry<ChangeData,RevCommit> item : emailingList) {
ChangeData cd = item.getKey();
Change change = cd.change();
if (passed) {