Merge "Add HEAD update REST API endpoint" into stable-3.3
diff --git a/src/main/java/com/googlesource/gerrit/plugins/replication/pull/api/PullReplicationApiModule.java b/src/main/java/com/googlesource/gerrit/plugins/replication/pull/api/PullReplicationApiModule.java
index 8dc0f0f..e7b3a7f 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/replication/pull/api/PullReplicationApiModule.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/replication/pull/api/PullReplicationApiModule.java
@@ -28,9 +28,11 @@
bind(FetchAction.class).in(Scopes.SINGLETON);
bind(ApplyObjectAction.class).in(Scopes.SINGLETON);
bind(ProjectDeletionAction.class).in(Scopes.SINGLETON);
+ bind(UpdateHeadAction.class).in(Scopes.SINGLETON);
post(PROJECT_KIND, "fetch").to(FetchAction.class);
post(PROJECT_KIND, "apply-object").to(ApplyObjectAction.class);
delete(PROJECT_KIND, "delete-project").to(ProjectDeletionAction.class);
+ put(PROJECT_KIND, "HEAD").to(UpdateHeadAction.class);
bind(FetchPreconditions.class).in(Scopes.SINGLETON);
bind(CapabilityDefinition.class)
diff --git a/src/main/java/com/googlesource/gerrit/plugins/replication/pull/client/FetchRestApiClient.java b/src/main/java/com/googlesource/gerrit/plugins/replication/pull/client/FetchRestApiClient.java
index a7e71af..a916a7c 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/replication/pull/client/FetchRestApiClient.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/replication/pull/client/FetchRestApiClient.java
@@ -194,6 +194,6 @@
}
String getProjectUpdateHeadUrl(String projectName) {
- return String.format("a/projects/%s/HEAD", Url.encode(projectName));
+ return String.format("a/projects/%s/%s~HEAD", Url.encode(projectName), pluginName);
}
}
diff --git a/src/test/java/com/googlesource/gerrit/plugins/replication/pull/client/FetchRestApiClientTest.java b/src/test/java/com/googlesource/gerrit/plugins/replication/pull/client/FetchRestApiClientTest.java
index 17df2df..a778049 100644
--- a/src/test/java/com/googlesource/gerrit/plugins/replication/pull/client/FetchRestApiClientTest.java
+++ b/src/test/java/com/googlesource/gerrit/plugins/replication/pull/client/FetchRestApiClientTest.java
@@ -395,7 +395,7 @@
assertThat(httpPut.getURI().getHost()).isEqualTo("gerrit-host");
assertThat(httpPut.getURI().getPath())
- .isEqualTo(String.format("/a/projects/%s/HEAD", projectName));
+ .isEqualTo(String.format("/a/projects/%s/pull-replication~HEAD", projectName));
assertThat(payload).isEqualTo(String.format("{\"ref\": \"%s\"}", newHead));
}