Merge branch 'stable-3.11'
* stable-3.11:
Do not lock refs when not executing a fetch
Allow locking refs whilst filtering for fetch requests
Remove unused Transport in FetchOneTest
Avoid mocking ReplicationFetchFilter
Remove redundant public modifier in ReplicationFetchFilter
Record replication metrics for retrying tasks
Change-Id: I63317ad5f0f98e988844bf40f81522fec014641a
diff --git a/src/main/resources/Documentation/about.md b/README.md
similarity index 65%
rename from src/main/resources/Documentation/about.md
rename to README.md
index 247ff23..c7ee16a 100644
--- a/src/main/resources/Documentation/about.md
+++ b/README.md
@@ -1,25 +1,32 @@
+# Gerrit pull-replication plugin
+
This plugin can automatically mirror repositories from other systems.
Overview
--------
Typically replication should be done over SSH, with a passwordless
-public/private key pair. On a trusted network it is also possible to
+public/private key pair. On a trusted network it is also possible to
use replication over the insecure (but much faster due to no
authentication overhead or encryption) git:// protocol, by enabling
the `upload-pack` service on the receiving system, but this
-configuration is not recommended. It is also possible to specify a
-local path as replication source. This makes e.g. sense if a network
+configuration is not recommended. It is also possible to specify a
+local path as replication source. This makes sense if a network
share is mounted to which the repositories should be replicated from.
-Access
-------
+## Access
+
To be allowed to trigger pull replication a user must be a member of a
group that is granted the 'Pull Replication' capability (provided
by this plugin) or the 'Administrate Server' capability.
-Change Indexing
---------
+## Change Indexing
+
Changes will be automatically indexed upon replication.
+
+
+For more information please refer to the [docs](src/main/resources/Documentation)
+
+
diff --git a/src/main/java/com/googlesource/gerrit/plugins/replication/pull/PullReplicationModule.java b/src/main/java/com/googlesource/gerrit/plugins/replication/pull/PullReplicationModule.java
index 251f39f..a01a6d8 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/replication/pull/PullReplicationModule.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/replication/pull/PullReplicationModule.java
@@ -34,6 +34,7 @@
import com.google.inject.assistedinject.FactoryModuleBuilder;
import com.google.inject.internal.UniqueAnnotations;
import com.google.inject.name.Names;
+import com.googlesource.gerrit.plugins.deleteproject.cache.CacheDeleteHandler;
import com.googlesource.gerrit.plugins.replication.AutoReloadSecureCredentialsFactoryDecorator;
import com.googlesource.gerrit.plugins.replication.ConfigParser;
import com.googlesource.gerrit.plugins.replication.CredentialsFactory;
@@ -42,6 +43,7 @@
import com.googlesource.gerrit.plugins.replication.StartReplicationCapability;
import com.googlesource.gerrit.plugins.replication.pull.api.FetchApiCapability;
import com.googlesource.gerrit.plugins.replication.pull.api.FetchJob;
+import com.googlesource.gerrit.plugins.replication.pull.api.ProjectDeletionAction;
import com.googlesource.gerrit.plugins.replication.pull.auth.PullReplicationGroupModule;
import com.googlesource.gerrit.plugins.replication.pull.client.FetchApiClient;
import com.googlesource.gerrit.plugins.replication.pull.client.FetchRestApiClient;
@@ -68,6 +70,9 @@
@Override
protected void configure() {
+ bind(CacheDeleteHandler.class);
+ bind(ProjectDeletionAction.class).in(Scopes.SINGLETON);
+
bind(MetricMaker.class)
.annotatedWith(Names.named(ReplicationQueueMetrics.REPLICATION_QUEUE_METRICS))
.toInstance(pluginMetricMaker);
diff --git a/src/main/java/com/googlesource/gerrit/plugins/replication/pull/api/HttpModule.java b/src/main/java/com/googlesource/gerrit/plugins/replication/pull/api/HttpModule.java
index 72a0182..95082b8 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/replication/pull/api/HttpModule.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/replication/pull/api/HttpModule.java
@@ -20,7 +20,6 @@
import com.google.inject.Scopes;
import com.google.inject.name.Names;
import com.google.inject.servlet.ServletModule;
-import com.googlesource.gerrit.plugins.deleteproject.cache.CacheDeleteHandler;
import com.googlesource.gerrit.plugins.replication.pull.BearerTokenProvider;
public class HttpModule extends ServletModule {
@@ -47,9 +46,6 @@
.in(Scopes.SINGLETON);
});
- bind(CacheDeleteHandler.class);
- bind(ProjectDeletionAction.class).in(Scopes.SINGLETON);
-
DynamicSet.bind(binder(), AllRequestFilter.class)
.to(PullReplicationFilter.class)
.in(Scopes.SINGLETON);