summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--gerrit-server/src/main/java/com/google/gerrit/server/change/PostReview.java5
-rw-r--r--gerrit-sshd/src/main/java/com/google/gerrit/sshd/commands/ReviewCommand.java11
2 files changed, 13 insertions, 3 deletions
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/change/PostReview.java b/gerrit-server/src/main/java/com/google/gerrit/server/change/PostReview.java
index 2efa6110e5..9fb6b75477 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/change/PostReview.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/change/PostReview.java
@@ -88,6 +88,7 @@ public class PostReview implements RestModifyView<RevisionResource, Input> {
public NotifyHandling notify = NotifyHandling.ALL;
public boolean changeReviewable;
+ public boolean dontAddReviewNote = false;
}
public static enum DraftHandling {
@@ -157,7 +158,9 @@ public class PostReview implements RestModifyView<RevisionResource, Input> {
boolean dirty = false;
dirty |= insertComments(revision, input.comments, input.drafts);
dirty |= updateLabels(revision, input.labels);
- dirty |= insertMessage(revision, input.message);
+ if (!input.dontAddReviewNote) {
+ dirty |= insertMessage(revision, input.message);
+ }
if (dirty) {
db.changes().update(Collections.singleton(change));
db.commit();
diff --git a/gerrit-sshd/src/main/java/com/google/gerrit/sshd/commands/ReviewCommand.java b/gerrit-sshd/src/main/java/com/google/gerrit/sshd/commands/ReviewCommand.java
index a26dfd7259..37f75e744a 100644
--- a/gerrit-sshd/src/main/java/com/google/gerrit/sshd/commands/ReviewCommand.java
+++ b/gerrit-sshd/src/main/java/com/google/gerrit/sshd/commands/ReviewCommand.java
@@ -287,8 +287,15 @@ public class ReviewCommand extends SshCommand {
// If review labels are being applied, the comment will be included
// on the review note. We don't need to add it again on the abandon,
// defer or restore comment.
- if (!review.labels.isEmpty() && (abandonChange || deferChange || restoreChange)) {
- changeComment = null;
+ if (abandonChange || deferChange || restoreChange) {
+ if (!review.labels.isEmpty()) {
+ changeComment = null;
+ }
+ else {
+ // If no review labels applied, this drops the review note.
+ // The comment is visible in the abandon, defer or restore comment.
+ review.dontAddReviewNote = true;
+ }
}
try {