Merge "Filter out irrelevant refs in TagMatcher"
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/git/TagSet.java b/gerrit-server/src/main/java/com/google/gerrit/server/git/TagSet.java
index 761d5d6..799e220 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/git/TagSet.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/git/TagSet.java
@@ -332,7 +332,7 @@
}
}
- private static boolean skip(Ref ref) {
+ static boolean skip(Ref ref) {
return ref.isSymbolic() || ref.getObjectId() == null
|| PatchSet.isRef(ref.getName());
}
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/git/TagSetHolder.java b/gerrit-server/src/main/java/com/google/gerrit/server/git/TagSetHolder.java
index d923e51..5260aab 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/git/TagSetHolder.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/git/TagSetHolder.java
@@ -14,6 +14,8 @@
package com.google.gerrit.server.git;
+import com.google.common.base.Predicate;
+import com.google.common.collect.FluentIterable;
import com.google.gerrit.reviewdb.client.Project;
import org.eclipse.jgit.lib.Ref;
@@ -43,6 +45,13 @@
}
TagMatcher matcher(TagCache cache, Repository db, Collection<Ref> include) {
+ include = FluentIterable.from(include).filter(new Predicate<Ref>() {
+ @Override
+ public boolean apply(Ref ref) {
+ return !TagSet.skip(ref);
+ }
+ }).toList();
+
TagSet tags = this.tags;
if (tags == null) {
tags = build(cache, db);