diff options
author | Shawn Pearce <sop@google.com> | 2013-11-18 16:22:44 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2013-11-18 16:22:44 +0000 |
commit | 5174e351474960a616a17a9625d68b1fc0f291a4 (patch) | |
tree | beaed1fdabfae9c8ba4f4db37f74fb8f44d589b6 | |
parent | d0b6de2d6aa38c93e57a1cf066a748211863bd2c (diff) | |
parent | 74fe27fe922bdd37f26157f0e52b50009d32ccb8 (diff) |
Merge "Update patch status before skipping duplicate emails" into stable-2.6
-rw-r--r-- | gerrit-server/src/main/java/com/google/gerrit/server/change/Submit.java | 4 | ||||
-rw-r--r-- | gerrit-server/src/main/java/com/google/gerrit/server/git/MergeOp.java | 20 |
2 files changed, 11 insertions, 13 deletions
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/change/Submit.java b/gerrit-server/src/main/java/com/google/gerrit/server/change/Submit.java index c63bf5d3a7..d774077502 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/change/Submit.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/change/Submit.java @@ -126,7 +126,6 @@ public class Submit implements RestModifyView<RevisionResource, Input> { // If the merge was attempted and it failed the system usually // writes a comment as a ChangeMessage and sets status to NEW. // Find the relevant message and report that as the conflict. - final Timestamp before = rsrc.getChange().getLastUpdatedOn(); ChangeMessage msg = Iterables.getFirst(Iterables.filter( Lists.reverse(dbProvider.get().changeMessages() .byChange(change.getId()) @@ -134,8 +133,7 @@ public class Submit implements RestModifyView<RevisionResource, Input> { new Predicate<ChangeMessage>() { @Override public boolean apply(ChangeMessage input) { - return input.getAuthor() == null - && input.getWrittenOn().getTime() >= before.getTime(); + return input.getAuthor() == null; } }), null); if (msg != null) { 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 dace0ae90b..e93fe7e446 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 @@ -1045,16 +1045,6 @@ public class MergeOp { private void sendMergeFail(final Change c, final ChangeMessage msg, final boolean makeNew) { - if (isDuplicate(msg)) { - return; - } - - try { - db.changeMessages().insert(Collections.singleton(msg)); - } catch (OrmException err) { - log.warn("Cannot record merge failure message", err); - } - if (makeNew) { try { db.changes().atomicUpdate(c.getId(), new AtomicUpdate<Change>() { @@ -1079,6 +1069,16 @@ public class MergeOp { } } + if (isDuplicate(msg)) { + return; + } + + try { + db.changeMessages().insert(Collections.singleton(msg)); + } catch (OrmException err) { + log.warn("Cannot record merge failure message", err); + } + PatchSetApproval submitter = null; try { submitter = getSubmitter(db, c.currentPatchSetId()); |