diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/notedb/ChangeUpdate.java b/gerrit-server/src/main/java/com/google/gerrit/server/notedb/ChangeUpdate.java index 8f5ab23afc..69b98c8366 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/notedb/ChangeUpdate.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/notedb/ChangeUpdate.java @@ -473,12 +473,13 @@ public class ChangeUpdate extends AbstractChangeUpdate { private boolean isEmpty() { return approvals.isEmpty() - && reviewers.isEmpty() + && changeMessage == null && commentsForBase.isEmpty() && commentsForPs.isEmpty() + && reviewers.isEmpty() && status == null - && submitRecords == null - && changeMessage == null; + && subject == null + && submitRecords == null; } private static StringBuilder addFooter(StringBuilder sb, FooterKey footer) { diff --git a/gerrit-server/src/test/java/com/google/gerrit/server/notedb/ChangeNotesTest.java b/gerrit-server/src/test/java/com/google/gerrit/server/notedb/ChangeNotesTest.java index d9740c5c7c..117806a0f2 100644 --- a/gerrit-server/src/test/java/com/google/gerrit/server/notedb/ChangeNotesTest.java +++ b/gerrit-server/src/test/java/com/google/gerrit/server/notedb/ChangeNotesTest.java @@ -22,6 +22,8 @@ import static java.nio.charset.StandardCharsets.UTF_8; import static java.util.concurrent.TimeUnit.MILLISECONDS; import static java.util.concurrent.TimeUnit.SECONDS; import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertNull; import static org.junit.Assert.assertTrue; import com.google.common.collect.ImmutableList; @@ -618,6 +620,20 @@ public class ChangeNotesTest { Iterables.getOnlyElement(notes.getSubmitRecords())); } + @Test + public void emptyChangeUpdate() throws Exception { + ChangeUpdate update = newUpdate(newChange(), changeOwner); + update.commit(); + assertNull(update.getRevision()); + } + + public void emptyExceptSubject() throws Exception { + ChangeUpdate update = newUpdate(newChange(), changeOwner); + update.setSubject("Create change"); + update.commit(); + assertNotNull(update.getRevision()); + } + @Test public void multipleUpdatesInBatch() throws Exception { Change c = newChange();