Merge branch 'stable-3.4' into stable-3.5 * stable-3.4: Don't depend on update ACL to create a branch Change-Id: Iebbd7750e8a97c1c035dacac80d3939baa2ed2f5
diff --git a/BUILD b/BUILD index 057d3d2..8966d6b 100644 --- a/BUILD +++ b/BUILD
@@ -7,7 +7,7 @@ srcs = glob(["src/main/java/**/*.java"]), manifest_entries = [ "Gerrit-PluginName: gitiles", - "Gerrit-Module: com.googlesource.gerrit.plugins.gitiles.Module", + "Gerrit-Module: com.googlesource.gerrit.plugins.gitiles.PluginModule", "Gerrit-HttpModule: com.googlesource.gerrit.plugins.gitiles.HttpModule", # Gitiles uses /repo to access a repo, so the default plugin layout would # disallow repos named "static" or "Documentation". Paths starting with +
diff --git a/src/main/java/com/googlesource/gerrit/plugins/gitiles/FilteredRepository.java b/src/main/java/com/googlesource/gerrit/plugins/gitiles/FilteredRepository.java index 29258f0..f2f842c 100644 --- a/src/main/java/com/googlesource/gerrit/plugins/gitiles/FilteredRepository.java +++ b/src/main/java/com/googlesource/gerrit/plugins/gitiles/FilteredRepository.java
@@ -17,7 +17,6 @@ import static java.util.stream.Collectors.toMap; import com.google.common.collect.ImmutableList; -import com.google.common.collect.Maps; import com.google.gerrit.entities.Project; import com.google.gerrit.extensions.restapi.AuthException; import com.google.gerrit.server.CurrentUser; @@ -243,12 +242,7 @@ @Override public List<Ref> getAdditionalRefs() throws IOException { - List<Ref> refs = git.getRefDatabase().getAdditionalRefs(); - Map<String, Ref> result = Maps.newHashMapWithExpectedSize(refs.size()); - for (Ref ref : refs) { - result.put(ref.getName(), ref); - } - return ImmutableList.copyOf(result.values()); + return ImmutableList.copyOf(git.getRefDatabase().getAdditionalRefs()); } @Override
diff --git a/src/main/java/com/googlesource/gerrit/plugins/gitiles/HttpModule.java b/src/main/java/com/googlesource/gerrit/plugins/gitiles/HttpModule.java index f1c34c6..a2d5c94 100644 --- a/src/main/java/com/googlesource/gerrit/plugins/gitiles/HttpModule.java +++ b/src/main/java/com/googlesource/gerrit/plugins/gitiles/HttpModule.java
@@ -17,6 +17,7 @@ import com.google.common.flogger.FluentLogger; import com.google.gerrit.server.CurrentUser; import com.google.gerrit.server.config.SitePaths; +import com.google.gitiles.BranchRedirectFilter; import com.google.gitiles.GitilesAccess; import com.google.gitiles.GitilesServlet; import com.google.gitiles.GitilesUrls; @@ -108,7 +109,17 @@ GitilesUrls urls, GitilesAccess.Factory accessFactory, RepositoryResolver<HttpServletRequest> resolver) { - return new GitilesServlet(cfg, null, urls, accessFactory, resolver, null, null, null, null); + return new GitilesServlet( + cfg, + null, + urls, + accessFactory, + resolver, + null, + null, + null, + null, + new BranchRedirectFilter()); } @Provides
diff --git a/src/main/java/com/googlesource/gerrit/plugins/gitiles/MenuFilter.java b/src/main/java/com/googlesource/gerrit/plugins/gitiles/MenuFilter.java index 1fd26e2..263fd70 100644 --- a/src/main/java/com/googlesource/gerrit/plugins/gitiles/MenuFilter.java +++ b/src/main/java/com/googlesource/gerrit/plugins/gitiles/MenuFilter.java
@@ -68,7 +68,7 @@ private String getLoginRedirectUrl(HttpServletRequest req) { String baseUrl = urls.getBaseGerritUrl(req); String loginUrl = baseUrl + "login/"; - String token = req.getRequestURL().toString(); + String token = getRequestUrl(req); if (!baseUrl.isEmpty()) { token = token.substring(baseUrl.length()); } @@ -79,4 +79,9 @@ } return (loginUrl + Url.encode(token)); } + + @SuppressWarnings("JdkObsolete") + private static String getRequestUrl(HttpServletRequest req) { + return req.getRequestURL().toString(); + } }
diff --git a/src/main/java/com/googlesource/gerrit/plugins/gitiles/Module.java b/src/main/java/com/googlesource/gerrit/plugins/gitiles/PluginModule.java similarity index 97% rename from src/main/java/com/googlesource/gerrit/plugins/gitiles/Module.java rename to src/main/java/com/googlesource/gerrit/plugins/gitiles/PluginModule.java index 02f7eb7..5aab4cd 100644 --- a/src/main/java/com/googlesource/gerrit/plugins/gitiles/Module.java +++ b/src/main/java/com/googlesource/gerrit/plugins/gitiles/PluginModule.java
@@ -47,11 +47,11 @@ import org.eclipse.jgit.lib.Config; import org.eclipse.jgit.transport.resolver.RepositoryResolver; -class Module extends LifecycleModule { +class PluginModule extends LifecycleModule { private final boolean noWebLinks; @Inject - Module(PluginConfigFactory configFactory) { + PluginModule(PluginConfigFactory configFactory) { Config config = configFactory.getGlobalPluginConfig("gitiles"); this.noWebLinks = config.getBoolean("gerrit", null, "noWebLinks", false); }
diff --git a/src/test/java/com/googlesource/gerrit/plugins/gitiles/ListProjectsAccessTest.java b/src/test/java/com/googlesource/gerrit/plugins/gitiles/ListProjectsAccessTest.java index fe1d61b..f6d9998 100644 --- a/src/test/java/com/googlesource/gerrit/plugins/gitiles/ListProjectsAccessTest.java +++ b/src/test/java/com/googlesource/gerrit/plugins/gitiles/ListProjectsAccessTest.java
@@ -35,7 +35,7 @@ import org.junit.After; import org.junit.Test; -@TestPlugin(name = "gitiles", sysModule = "com.googlesource.gerrit.plugins.gitiles.Module") +@TestPlugin(name = "gitiles", sysModule = "com.googlesource.gerrit.plugins.gitiles.PluginModule") public class ListProjectsAccessTest extends LightweightPluginDaemonTest { @ConfigSuite.Default public static Config defaultConfig() {
diff --git a/src/test/java/com/googlesource/gerrit/plugins/gitiles/RepositoryResolverAccessTest.java b/src/test/java/com/googlesource/gerrit/plugins/gitiles/RepositoryResolverAccessTest.java index c8c7fba..1f10177 100644 --- a/src/test/java/com/googlesource/gerrit/plugins/gitiles/RepositoryResolverAccessTest.java +++ b/src/test/java/com/googlesource/gerrit/plugins/gitiles/RepositoryResolverAccessTest.java
@@ -36,7 +36,7 @@ import org.junit.After; import org.junit.Test; -@TestPlugin(name = "gitiles", sysModule = "com.googlesource.gerrit.plugins.gitiles.Module") +@TestPlugin(name = "gitiles", sysModule = "com.googlesource.gerrit.plugins.gitiles.PluginModule") public class RepositoryResolverAccessTest extends LightweightPluginDaemonTest { @ConfigSuite.Default public static Config defaultConfig() {