Merge branch 'stable-3.0' into stable-3.1
* stable-3.0: Remove Hugo Arès from developers section in pom.xml files ElasticContainer: Upgrade V6_8 to elasticsearch 6.8.10 Upgrade elasticsearch-rest-client to 7.7.1 ElasticContainer: Upgrade V7_7 to elasticsearch 7.7.1 Support /COMMIT_MSG for change edit REST endpoints Change-Id: I911d0d687a74a629d5a5955420e040088204bbd9
This commit is contained in:
@@ -14,9 +14,13 @@
|
|||||||
|
|
||||||
package com.google.gerrit.server.restapi.change;
|
package com.google.gerrit.server.restapi.change;
|
||||||
|
|
||||||
|
import static java.nio.charset.StandardCharsets.UTF_8;
|
||||||
|
|
||||||
import com.google.common.base.Strings;
|
import com.google.common.base.Strings;
|
||||||
import com.google.common.collect.ImmutableList;
|
import com.google.common.collect.ImmutableList;
|
||||||
|
import com.google.common.io.ByteStreams;
|
||||||
import com.google.gerrit.entities.Change;
|
import com.google.gerrit.entities.Change;
|
||||||
|
import com.google.gerrit.entities.Patch;
|
||||||
import com.google.gerrit.entities.PatchSet;
|
import com.google.gerrit.entities.PatchSet;
|
||||||
import com.google.gerrit.entities.Project;
|
import com.google.gerrit.entities.Project;
|
||||||
import com.google.gerrit.extensions.common.DiffWebLinkInfo;
|
import com.google.gerrit.extensions.common.DiffWebLinkInfo;
|
||||||
@@ -119,7 +123,7 @@ public class ChangeEdits implements ChildCollection<ChangeResource, ChangeEditRe
|
|||||||
@Override
|
@Override
|
||||||
public Response<?> apply(ChangeResource resource, IdString id, Put.Input input)
|
public Response<?> apply(ChangeResource resource, IdString id, Put.Input input)
|
||||||
throws AuthException, ResourceConflictException, BadRequestException, IOException,
|
throws AuthException, ResourceConflictException, BadRequestException, IOException,
|
||||||
PermissionBackendException {
|
PermissionBackendException, BadRequestException {
|
||||||
putEdit.apply(resource, id.get(), input.content);
|
putEdit.apply(resource, id.get(), input.content);
|
||||||
return Response.none();
|
return Response.none();
|
||||||
}
|
}
|
||||||
@@ -275,23 +279,34 @@ public class ChangeEdits implements ChildCollection<ChangeResource, ChangeEditRe
|
|||||||
|
|
||||||
private final ChangeEditModifier editModifier;
|
private final ChangeEditModifier editModifier;
|
||||||
private final GitRepositoryManager repositoryManager;
|
private final GitRepositoryManager repositoryManager;
|
||||||
|
private final EditMessage editMessage;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
Put(ChangeEditModifier editModifier, GitRepositoryManager repositoryManager) {
|
Put(
|
||||||
|
ChangeEditModifier editModifier,
|
||||||
|
GitRepositoryManager repositoryManager,
|
||||||
|
EditMessage editMessage) {
|
||||||
this.editModifier = editModifier;
|
this.editModifier = editModifier;
|
||||||
this.repositoryManager = repositoryManager;
|
this.repositoryManager = repositoryManager;
|
||||||
|
this.editMessage = editMessage;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Response<?> apply(ChangeEditResource rsrc, Input input)
|
public Response<?> apply(ChangeEditResource rsrc, Input input)
|
||||||
throws AuthException, ResourceConflictException, BadRequestException, IOException,
|
throws AuthException, ResourceConflictException, BadRequestException, IOException,
|
||||||
PermissionBackendException {
|
PermissionBackendException, BadRequestException {
|
||||||
return apply(rsrc.getChangeResource(), rsrc.getPath(), input.content);
|
return apply(rsrc.getChangeResource(), rsrc.getPath(), input.content);
|
||||||
}
|
}
|
||||||
|
|
||||||
public Response<?> apply(ChangeResource rsrc, String path, RawInput newContent)
|
public Response<?> apply(ChangeResource rsrc, String path, RawInput newContent)
|
||||||
throws ResourceConflictException, AuthException, BadRequestException, IOException,
|
throws ResourceConflictException, AuthException, BadRequestException, IOException,
|
||||||
PermissionBackendException {
|
PermissionBackendException, BadRequestException {
|
||||||
|
if (Patch.COMMIT_MSG.equals(path)) {
|
||||||
|
EditMessage.Input editCommitMessageInput = new EditMessage.Input();
|
||||||
|
editCommitMessageInput.message =
|
||||||
|
new String(ByteStreams.toByteArray(newContent.getInputStream()), UTF_8);
|
||||||
|
return Response.ok(editMessage.apply(rsrc, editCommitMessageInput));
|
||||||
|
}
|
||||||
if (Strings.isNullOrEmpty(path) || path.charAt(0) == '/') {
|
if (Strings.isNullOrEmpty(path) || path.charAt(0) == '/') {
|
||||||
throw new ResourceConflictException("Invalid path: " + path);
|
throw new ResourceConflictException("Invalid path: " + path);
|
||||||
}
|
}
|
||||||
@@ -345,6 +360,7 @@ public class ChangeEdits implements ChildCollection<ChangeResource, ChangeEditRe
|
|||||||
public static class Get implements RestReadView<ChangeEditResource> {
|
public static class Get implements RestReadView<ChangeEditResource> {
|
||||||
private final FileContentUtil fileContentUtil;
|
private final FileContentUtil fileContentUtil;
|
||||||
private final ProjectCache projectCache;
|
private final ProjectCache projectCache;
|
||||||
|
private final GetMessage getMessage;
|
||||||
|
|
||||||
@Option(
|
@Option(
|
||||||
name = "--base",
|
name = "--base",
|
||||||
@@ -353,14 +369,19 @@ public class ChangeEdits implements ChildCollection<ChangeResource, ChangeEditRe
|
|||||||
private boolean base;
|
private boolean base;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
Get(FileContentUtil fileContentUtil, ProjectCache projectCache) {
|
Get(FileContentUtil fileContentUtil, ProjectCache projectCache, GetMessage getMessage) {
|
||||||
this.fileContentUtil = fileContentUtil;
|
this.fileContentUtil = fileContentUtil;
|
||||||
this.projectCache = projectCache;
|
this.projectCache = projectCache;
|
||||||
|
this.getMessage = getMessage;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Response<BinaryResult> apply(ChangeEditResource rsrc) throws IOException {
|
public Response<BinaryResult> apply(ChangeEditResource rsrc) throws AuthException, IOException {
|
||||||
try {
|
try {
|
||||||
|
if (Patch.COMMIT_MSG.equals(rsrc.getPath())) {
|
||||||
|
return getMessage.apply(rsrc.getChangeResource());
|
||||||
|
}
|
||||||
|
|
||||||
ChangeEdit edit = rsrc.getChangeEdit();
|
ChangeEdit edit = rsrc.getChangeEdit();
|
||||||
return Response.ok(
|
return Response.ok(
|
||||||
fileContentUtil.getContent(
|
fileContentUtil.getContent(
|
||||||
|
|||||||
@@ -42,6 +42,7 @@ import com.google.gerrit.acceptance.testsuite.request.RequestScopeOperations;
|
|||||||
import com.google.gerrit.common.RawInputUtil;
|
import com.google.gerrit.common.RawInputUtil;
|
||||||
import com.google.gerrit.common.data.LabelType;
|
import com.google.gerrit.common.data.LabelType;
|
||||||
import com.google.gerrit.common.data.Permission;
|
import com.google.gerrit.common.data.Permission;
|
||||||
|
import com.google.gerrit.entities.Patch;
|
||||||
import com.google.gerrit.entities.PatchSet;
|
import com.google.gerrit.entities.PatchSet;
|
||||||
import com.google.gerrit.entities.Project;
|
import com.google.gerrit.entities.Project;
|
||||||
import com.google.gerrit.extensions.api.changes.AddReviewerInput;
|
import com.google.gerrit.extensions.api.changes.AddReviewerInput;
|
||||||
@@ -296,6 +297,17 @@ public class ChangeEditIT extends AbstractDaemonTest {
|
|||||||
ensureSameBytes(getFileContentOfEdit(changeId, FILE_NAME), CONTENT_NEW);
|
ensureSameBytes(getFileContentOfEdit(changeId, FILE_NAME), CONTENT_NEW);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void updateCommitMessageByEditingMagicCommitMsgFile() throws Exception {
|
||||||
|
createEmptyEditFor(changeId);
|
||||||
|
gApi.changes()
|
||||||
|
.id(changeId)
|
||||||
|
.edit()
|
||||||
|
.modifyFile(Patch.COMMIT_MSG, RawInputUtil.create("Foo Bar".getBytes(UTF_8)));
|
||||||
|
assertThat(getEdit(changeId)).isPresent();
|
||||||
|
ensureSameBytes(getFileContentOfEdit(changeId, Patch.COMMIT_MSG), "Foo Bar\n".getBytes(UTF_8));
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@TestProjectInput(createEmptyCommit = false)
|
@TestProjectInput(createEmptyCommit = false)
|
||||||
public void updateRootCommitMessage() throws Exception {
|
public void updateRootCommitMessage() throws Exception {
|
||||||
|
|||||||
@@ -43,7 +43,7 @@ public class ElasticContainer extends ElasticsearchContainer {
|
|||||||
case V6_7:
|
case V6_7:
|
||||||
return "blacktop/elasticsearch:6.7.2";
|
return "blacktop/elasticsearch:6.7.2";
|
||||||
case V6_8:
|
case V6_8:
|
||||||
return "blacktop/elasticsearch:6.8.9";
|
return "blacktop/elasticsearch:6.8.10";
|
||||||
case V7_0:
|
case V7_0:
|
||||||
return "blacktop/elasticsearch:7.0.1";
|
return "blacktop/elasticsearch:7.0.1";
|
||||||
case V7_1:
|
case V7_1:
|
||||||
@@ -59,7 +59,7 @@ public class ElasticContainer extends ElasticsearchContainer {
|
|||||||
case V7_6:
|
case V7_6:
|
||||||
return "blacktop/elasticsearch:7.6.2";
|
return "blacktop/elasticsearch:7.6.2";
|
||||||
case V7_7:
|
case V7_7:
|
||||||
return "blacktop/elasticsearch:7.7.0";
|
return "blacktop/elasticsearch:7.7.1";
|
||||||
}
|
}
|
||||||
throw new IllegalStateException("No tests for version: " + version.name());
|
throw new IllegalStateException("No tests for version: " + version.name());
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -43,9 +43,6 @@
|
|||||||
<developer>
|
<developer>
|
||||||
<name>Han-Wen Nienhuys</name>
|
<name>Han-Wen Nienhuys</name>
|
||||||
</developer>
|
</developer>
|
||||||
<developer>
|
|
||||||
<name>Hugo Arès</name>
|
|
||||||
</developer>
|
|
||||||
<developer>
|
<developer>
|
||||||
<name>Luca Milanesio</name>
|
<name>Luca Milanesio</name>
|
||||||
</developer>
|
</developer>
|
||||||
|
|||||||
@@ -43,9 +43,6 @@
|
|||||||
<developer>
|
<developer>
|
||||||
<name>Han-Wen Nienhuys</name>
|
<name>Han-Wen Nienhuys</name>
|
||||||
</developer>
|
</developer>
|
||||||
<developer>
|
|
||||||
<name>Hugo Arès</name>
|
|
||||||
</developer>
|
|
||||||
<developer>
|
<developer>
|
||||||
<name>Luca Milanesio</name>
|
<name>Luca Milanesio</name>
|
||||||
</developer>
|
</developer>
|
||||||
|
|||||||
@@ -43,9 +43,6 @@
|
|||||||
<developer>
|
<developer>
|
||||||
<name>Han-Wen Nienhuys</name>
|
<name>Han-Wen Nienhuys</name>
|
||||||
</developer>
|
</developer>
|
||||||
<developer>
|
|
||||||
<name>Hugo Arès</name>
|
|
||||||
</developer>
|
|
||||||
<developer>
|
<developer>
|
||||||
<name>Luca Milanesio</name>
|
<name>Luca Milanesio</name>
|
||||||
</developer>
|
</developer>
|
||||||
|
|||||||
@@ -43,9 +43,6 @@
|
|||||||
<developer>
|
<developer>
|
||||||
<name>Han-Wen Nienhuys</name>
|
<name>Han-Wen Nienhuys</name>
|
||||||
</developer>
|
</developer>
|
||||||
<developer>
|
|
||||||
<name>Hugo Arès</name>
|
|
||||||
</developer>
|
|
||||||
<developer>
|
<developer>
|
||||||
<name>Luca Milanesio</name>
|
<name>Luca Milanesio</name>
|
||||||
</developer>
|
</developer>
|
||||||
|
|||||||
@@ -102,8 +102,8 @@ def declare_nongoogle_deps():
|
|||||||
# and httpasyncclient as necessary.
|
# and httpasyncclient as necessary.
|
||||||
maven_jar(
|
maven_jar(
|
||||||
name = "elasticsearch-rest-client",
|
name = "elasticsearch-rest-client",
|
||||||
artifact = "org.elasticsearch.client:elasticsearch-rest-client:7.7.0",
|
artifact = "org.elasticsearch.client:elasticsearch-rest-client:7.7.1",
|
||||||
sha1 = "5fc25eec3940bc0e9b0ffddcf50554a609e9db8e",
|
sha1 = "6d44a8e35c11df6883747200bcf46f476a1782b8",
|
||||||
)
|
)
|
||||||
|
|
||||||
maven_jar(
|
maven_jar(
|
||||||
|
|||||||
Reference in New Issue
Block a user