Skip to content

Commit 7372719

Browse files
committed
Fix extra email sending in merge commits
Fixes: QTQAINFRA-3051 Change-Id: I1cdd156aa3f621c6019c03df72610e996c9f3bc8 Reviewed-by: Paul Wicking <[email protected]> Reviewed-by: Kari Oikarinen <[email protected]>
1 parent 35e278e commit 7372719

File tree

1 file changed

+9
-2
lines changed

1 file changed

+9
-2
lines changed

src/main/java/com/googlesource/gerrit/plugins/qtcodereview/QtCommandBuildApprove.java

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,8 +50,10 @@
5050
import java.io.InputStreamReader;
5151
import java.sql.Timestamp;
5252
import java.util.Arrays;
53+
import java.util.ArrayList;
5354
import java.util.List;
5455
import java.util.Map.Entry;
56+
import java.util.Map;
5557

5658

5759
/**
@@ -246,20 +248,25 @@ private void updateChanges(List<Entry<ChangeData,RevCommit>> list,
246248
String tag,
247249
Boolean passed)
248250
throws UpdateException, RestApiException, OrmException {
251+
252+
List<Entry<ChangeData,RevCommit>> emailingList = new ArrayList<Map.Entry<ChangeData, RevCommit>>();
253+
249254
// do the db update
250255
QtChangeUpdateOp op = qtUpdateFactory.create(status, oldStatus, changeMessage, null, tag, null);
251256
try (BatchUpdate u = updateFactory.create(dbProvider.get(), projectKey, user, TimeUtil.nowTs())) {
252257
for (Entry<ChangeData,RevCommit> item : list) {
253258
Change change = item.getKey().change();
254-
if (oldStatus == null || change.getStatus() == oldStatus) {
259+
if ((oldStatus == null || change.getStatus() == oldStatus)
260+
&& change.getStatus() != Change.Status.MERGED) {
255261
u.addOp(change.getId(), op);
262+
emailingList.add(item);
256263
}
257264
}
258265
u.execute();
259266
}
260267

261268
// do rest
262-
for (Entry<ChangeData,RevCommit> item : list) {
269+
for (Entry<ChangeData,RevCommit> item : emailingList) {
263270
ChangeData cd = item.getKey();
264271
Change change = cd.change();
265272
if (passed) {

0 commit comments

Comments
 (0)