|
50 | 50 | import java.io.InputStreamReader;
|
51 | 51 | import java.sql.Timestamp;
|
52 | 52 | import java.util.Arrays;
|
| 53 | +import java.util.ArrayList; |
53 | 54 | import java.util.List;
|
54 | 55 | import java.util.Map.Entry;
|
| 56 | +import java.util.Map; |
55 | 57 |
|
56 | 58 |
|
57 | 59 | /**
|
@@ -246,20 +248,25 @@ private void updateChanges(List<Entry<ChangeData,RevCommit>> list,
|
246 | 248 | String tag,
|
247 | 249 | Boolean passed)
|
248 | 250 | throws UpdateException, RestApiException, OrmException {
|
| 251 | + |
| 252 | + List<Entry<ChangeData,RevCommit>> emailingList = new ArrayList<Map.Entry<ChangeData, RevCommit>>(); |
| 253 | + |
249 | 254 | // do the db update
|
250 | 255 | QtChangeUpdateOp op = qtUpdateFactory.create(status, oldStatus, changeMessage, null, tag, null);
|
251 | 256 | try (BatchUpdate u = updateFactory.create(dbProvider.get(), projectKey, user, TimeUtil.nowTs())) {
|
252 | 257 | for (Entry<ChangeData,RevCommit> item : list) {
|
253 | 258 | 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) { |
255 | 261 | u.addOp(change.getId(), op);
|
| 262 | + emailingList.add(item); |
256 | 263 | }
|
257 | 264 | }
|
258 | 265 | u.execute();
|
259 | 266 | }
|
260 | 267 |
|
261 | 268 | // do rest
|
262 |
| - for (Entry<ChangeData,RevCommit> item : list) { |
| 269 | + for (Entry<ChangeData,RevCommit> item : emailingList) { |
263 | 270 | ChangeData cd = item.getKey();
|
264 | 271 | Change change = cd.change();
|
265 | 272 | if (passed) {
|
|
0 commit comments