Return PATCHSET_LEVEL comments to emails
Accidentally dropped in https://gerrit-review.googlesource.com/c/gerrit/+/300007
Google-Bug-Id: b/201279101
Change-Id: I024d711bb12f3948ca63517a4ff464812d61dc2e
diff --git a/java/com/google/gerrit/server/mail/send/CommentSender.java b/java/com/google/gerrit/server/mail/send/CommentSender.java
index b7a7d12..5a7352a 100644
--- a/java/com/google/gerrit/server/mail/send/CommentSender.java
+++ b/java/com/google/gerrit/server/mail/send/CommentSender.java
@@ -14,6 +14,7 @@
package com.google.gerrit.server.mail.send;
+import static com.google.gerrit.entities.Patch.PATCHSET_LEVEL;
import static java.util.stream.Collectors.toList;
import com.google.common.base.Strings;
@@ -220,7 +221,7 @@
}
}
- if (currentGroup.fileData != null) {
+ if (currentGroup.filename.equals(PATCHSET_LEVEL) || currentGroup.fileData != null) {
currentGroup.comments.add(c);
}
}
@@ -382,7 +383,9 @@
List<Map<String, Object>> commentsList = new ArrayList<>();
for (Comment comment : group.comments) {
Map<String, Object> commentData = new HashMap<>();
- commentData.put("lines", getLinesOfComment(comment, group.fileData));
+ if (group.fileData != null) {
+ commentData.put("lines", getLinesOfComment(comment, group.fileData));
+ }
commentData.put("message", comment.message.trim());
List<CommentFormatter.Block> blocks = CommentFormatter.parse(comment.message);
commentData.put("messageBlocks", commentBlocksToSoyData(blocks));
diff --git a/java/com/google/gerrit/server/patch/PatchFile.java b/java/com/google/gerrit/server/patch/PatchFile.java
index ab92367..81355cc 100644
--- a/java/com/google/gerrit/server/patch/PatchFile.java
+++ b/java/com/google/gerrit/server/patch/PatchFile.java
@@ -62,6 +62,11 @@
.findFirst()
.orElse(FileDiffOutput.empty(fileName, ObjectId.zeroId(), ObjectId.zeroId()));
+ if (Patch.PATCHSET_LEVEL.equals(fileName)) {
+ aTree = null;
+ bTree = null;
+ return;
+ }
try (ObjectReader reader = repo.newObjectReader();
RevWalk rw = new RevWalk(reader)) {
final RevCommit bCommit = rw.parseCommit(diff.newCommitId());
@@ -143,7 +148,7 @@
private Text load(ObjectId tree, String path)
throws MissingObjectException, IncorrectObjectTypeException, CorruptObjectException,
IOException {
- if (path == null) {
+ if (path == null || Patch.PATCHSET_LEVEL.equals(path)) {
return Text.EMPTY;
}
final TreeWalk tw = TreeWalk.forPath(repo, path, tree);
diff --git a/javatests/com/google/gerrit/acceptance/server/change/CommentsIT.java b/javatests/com/google/gerrit/acceptance/server/change/CommentsIT.java
index 89074b7..80cdad8 100644
--- a/javatests/com/google/gerrit/acceptance/server/change/CommentsIT.java
+++ b/javatests/com/google/gerrit/acceptance/server/change/CommentsIT.java
@@ -224,12 +224,14 @@
String ps1 = result.getCommit().name();
CommentInput comment =
- CommentsUtil.newCommentWithOnlyMandatoryFields(PATCHSET_LEVEL, "comment");
+ CommentsUtil.newCommentWithOnlyMandatoryFields(
+ PATCHSET_LEVEL, "The change looks good, LGTM");
CommentsUtil.addComments(gApi, changeId, ps1, comment);
String emailBody = Iterables.getOnlyElement(email.getMessages()).body();
assertThat(emailBody).contains("Patchset");
assertThat(emailBody).doesNotContain("/PATCHSET_LEVEL");
+ assertThat(emailBody).contains("The change looks good, LGTM");
}
@Test