diff options
author | Jukka Jokiniva <jukka.jokiniva@qt.io> | 2019-06-17 09:16:58 +0300 |
---|---|---|
committer | Jukka Jokiniva <jukka.jokiniva@qt.io> | 2019-06-17 07:08:22 +0000 |
commit | 737271991a867c1b1f0865eea6794ec17a97bfbd (patch) | |
tree | eb551451085688e8c1173831c155067e79cd238a | |
parent | 35e278e9a75ae30cc8779f8cb65265a05a301ecf (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.java | 11 |
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) { |