Merge "Maintainer role: Mention the maintainer slack channel"
diff --git a/java/com/google/gerrit/server/mail/send/CommentSender.java b/java/com/google/gerrit/server/mail/send/CommentSender.java
index 930e3b3..4f6a341 100644
--- a/java/com/google/gerrit/server/mail/send/CommentSender.java
+++ b/java/com/google/gerrit/server/mail/send/CommentSender.java
@@ -17,7 +17,6 @@
import static java.util.stream.Collectors.toList;
import com.google.common.base.Strings;
-import com.google.common.collect.Ordering;
import com.google.common.flogger.FluentLogger;
import com.google.gerrit.common.data.FilenameComparator;
import com.google.gerrit.exceptions.EmailException;
@@ -55,7 +54,6 @@
import java.util.List;
import java.util.Map;
import java.util.Optional;
-import java.util.Set;
import org.apache.james.mime4j.dom.field.FieldName;
import org.eclipse.jgit.lib.Config;
import org.eclipse.jgit.lib.Repository;
@@ -128,14 +126,6 @@
public void setComments(List<Comment> comments) {
inlineComments = comments;
-
- Set<String> paths = new HashSet<>();
- for (Comment c : comments) {
- if (!Patch.isMagic(c.key.filename)) {
- paths.add(c.key.filename);
- }
- }
- changeData.setCurrentFilePaths(Ordering.natural().sortedCopy(paths));
}
public void setPatchSetComment(String comment) {
diff --git a/java/com/google/gerrit/server/query/change/ChangeData.java b/java/com/google/gerrit/server/query/change/ChangeData.java
index 0352b83..59cbf32 100644
--- a/java/com/google/gerrit/server/query/change/ChangeData.java
+++ b/java/com/google/gerrit/server/query/change/ChangeData.java
@@ -19,6 +19,7 @@
import static java.util.stream.Collectors.toMap;
import com.google.auto.value.AutoValue;
+import com.google.common.annotations.VisibleForTesting;
import com.google.common.base.MoreObjects;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableListMultimap;
@@ -364,6 +365,7 @@
return allUsersName;
}
+ @VisibleForTesting
public void setCurrentFilePaths(List<String> filePaths) {
PatchSet ps = currentPatchSet();
if (ps != null) {
diff --git a/javatests/com/google/gerrit/acceptance/api/change/ChangeIT.java b/javatests/com/google/gerrit/acceptance/api/change/ChangeIT.java
index 118a9ae..70884d5 100644
--- a/javatests/com/google/gerrit/acceptance/api/change/ChangeIT.java
+++ b/javatests/com/google/gerrit/acceptance/api/change/ChangeIT.java
@@ -3468,6 +3468,42 @@
}
@Test
+ public void notifyConfigForDirectoryTriggersEmail() throws Exception {
+ // Configure notifications on project level.
+ RevCommit oldHead = projectOperations.project(project).getHead("master");
+ GitUtil.fetch(testRepo, RefNames.REFS_CONFIG + ":config");
+ testRepo.reset("config");
+ PushOneCommit push =
+ pushFactory.create(
+ admin.newIdent(),
+ testRepo,
+ "Configure Notifications",
+ "project.config",
+ "[notify \"my=notify-config\"]\n"
+ + " email = foo@test.com\n"
+ + " filter = dir:\\\"foo/bar/baz\\\"");
+ push.to(RefNames.REFS_CONFIG);
+ testRepo.reset(oldHead);
+
+ // Push a change that matches the filter.
+ sender.clear();
+ push =
+ pushFactory.create(
+ admin.newIdent(), testRepo, "Test change", "foo/bar/baz/test.txt", "some content");
+ PushOneCommit.Result r = push.to("refs/for/master");
+ assertThat(sender.getMessages()).hasSize(1);
+ assertThat(sender.getMessages().get(0).rcpt()).containsExactly(Address.parse("foo@test.com"));
+
+ // Comment on the change.
+ sender.clear();
+ ReviewInput reviewInput = new ReviewInput();
+ reviewInput.message = "some message";
+ gApi.changes().id(r.getChangeId()).current().review(reviewInput);
+ assertThat(sender.getMessages()).hasSize(1);
+ assertThat(sender.getMessages().get(0).rcpt()).containsExactly(Address.parse("foo@test.com"));
+ }
+
+ @Test
public void checkLabelsForMergedChangeWithNonAuthorCodeReview() throws Exception {
// Configure Non-Author-Code-Review
RevCommit oldHead = projectOperations.project(project).getHead("master");