diff --git a/CHANGELOG.md b/CHANGELOG.md
index dfbf4d97e5..eb13f433f6 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -20,6 +20,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Fixed
- Language detection of files with interpreter parameters e.g.: `#!/usr/bin/make -f` ([#1450](https://github.com/scm-manager/scm-manager/issues/1450))
+- Unexpected mercurial server pool stop ([#1446](https://github.com/scm-manager/scm-manager/issues/1446) and [#1457](https://github.com/scm-manager/scm-manager/issues/1457))
## [2.10.1] - 2020-11-24
### Fixed
diff --git a/pom.xml b/pom.xml
index 534bbceff0..5a33f024c4 100644
--- a/pom.xml
+++ b/pom.xml
@@ -930,7 +930,7 @@
1.2.0
- 1.6.0
+ 1.7.0
5.6.1.202002131546-r-scm1
diff --git a/scm-webapp/src/main/java/sonia/scm/api/v2/resources/DefaultChangesetToChangesetDtoMapper.java b/scm-webapp/src/main/java/sonia/scm/api/v2/resources/DefaultChangesetToChangesetDtoMapper.java
index 561a7719d8..baf6b7476d 100644
--- a/scm-webapp/src/main/java/sonia/scm/api/v2/resources/DefaultChangesetToChangesetDtoMapper.java
+++ b/scm-webapp/src/main/java/sonia/scm/api/v2/resources/DefaultChangesetToChangesetDtoMapper.java
@@ -29,8 +29,6 @@ import de.otto.edison.hal.Links;
import org.mapstruct.Context;
import org.mapstruct.Mapper;
import org.mapstruct.ObjectFactory;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
import sonia.scm.repository.Branch;
import sonia.scm.repository.Changeset;
import sonia.scm.repository.Contributor;
@@ -38,7 +36,6 @@ import sonia.scm.repository.Person;
import sonia.scm.repository.Repository;
import sonia.scm.repository.RepositoryPermissions;
import sonia.scm.repository.Signature;
-import sonia.scm.repository.Tags;
import sonia.scm.repository.api.Command;
import sonia.scm.repository.api.RepositoryService;
import sonia.scm.repository.api.RepositoryServiceFactory;
@@ -48,7 +45,6 @@ import sonia.scm.security.gpg.RawGpgKey;
import sonia.scm.web.EdisonHalAppender;
import javax.inject.Inject;
-import java.io.IOException;
import java.util.List;
import java.util.Optional;
import java.util.function.Function;
@@ -61,8 +57,6 @@ import static de.otto.edison.hal.Links.linkingTo;
@Mapper
public abstract class DefaultChangesetToChangesetDtoMapper extends HalAppenderMapper implements InstantAttributeMapper, ChangesetToChangesetDtoMapper {
- private static Logger LOG = LoggerFactory.getLogger(DefaultChangesetToChangesetDtoMapper.class);
-
@Inject
private RepositoryServiceFactory serviceFactory;
@@ -120,18 +114,6 @@ public abstract class DefaultChangesetToChangesetDtoMapper extends HalAppenderMa
.single(link("modifications", resourceLinks.modifications().self(namespace, name, source.getId())));
try (RepositoryService repositoryService = serviceFactory.create(repository)) {
- if (repositoryService.isSupported(Command.TAGS)) {
- Tags tags = null;
- try {
- tags = repositoryService.getTagsCommand().getTags();
- } catch (IOException e) {
- LOG.error("Error while retrieving tags from repository", e);
- }
- if (tags != null) {
- embeddedBuilder.with("tags", tagCollectionToDtoMapper.getTagDtoList(namespace, name,
- getListOfObjects(source.getTags(), tags::getTagByName), repository));
- }
- }
if (repositoryService.isSupported(Command.TAG) && RepositoryPermissions.push(repository).isPermitted()) {
linksBuilder.single(link("tag", resourceLinks.tag().create(namespace, name)));
}
@@ -139,7 +121,6 @@ public abstract class DefaultChangesetToChangesetDtoMapper extends HalAppenderMa
embeddedBuilder.with("branches", branchCollectionToDtoMapper.getBranchDtoList(repository,
getListOfObjects(source.getBranches(), branchName -> Branch.normalBranch(branchName, source.getId()))));
}
-
if (repositoryService.isSupported(Command.DIFF_RESULT)) {
linksBuilder.single(link("diffParsed", resourceLinks.diff().parsed(namespace, name, source.getId())));
}
diff --git a/scm-webapp/src/main/java/sonia/scm/api/v2/resources/TagCollectionToDtoMapper.java b/scm-webapp/src/main/java/sonia/scm/api/v2/resources/TagCollectionToDtoMapper.java
index b7ab918128..e2e5ac0027 100644
--- a/scm-webapp/src/main/java/sonia/scm/api/v2/resources/TagCollectionToDtoMapper.java
+++ b/scm-webapp/src/main/java/sonia/scm/api/v2/resources/TagCollectionToDtoMapper.java
@@ -21,7 +21,7 @@
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*/
-
+
package sonia.scm.api.v2.resources;
import com.google.inject.Inject;
@@ -61,6 +61,17 @@ public class TagCollectionToDtoMapper {
return tags.stream().map(tag -> tagToTagDtoMapper.map(tag, namespaceAndName, repository)).collect(toList());
}
+ public List getMinimalEmbeddedTagDtoList(String namespace, String name, Collection tags) {
+ return tags.stream()
+ .map(tag -> {
+ Links links = linkingTo().self(resourceLinks.tag().self(namespace, name, tag)).build();
+ TagDto dto = new TagDto(links);
+ dto.setName(tag);
+ return dto;
+ })
+ .collect(toList());
+ }
+
private Links createLinks(String namespace, String name) {
return
linkingTo()
diff --git a/scm-webapp/src/main/java/sonia/scm/api/v2/resources/TagDto.java b/scm-webapp/src/main/java/sonia/scm/api/v2/resources/TagDto.java
index 9100090b36..17d7fac9b2 100644
--- a/scm-webapp/src/main/java/sonia/scm/api/v2/resources/TagDto.java
+++ b/scm-webapp/src/main/java/sonia/scm/api/v2/resources/TagDto.java
@@ -49,6 +49,10 @@ public class TagDto extends HalRepresentation {
private List signatures;
+ TagDto(Links links) {
+ super(links);
+ }
+
TagDto(Links links, Embedded embedded) {
super(links, embedded);
}
diff --git a/scm-webapp/src/main/java/sonia/scm/api/v2/resources/TagToTagDtoMapper.java b/scm-webapp/src/main/java/sonia/scm/api/v2/resources/TagToTagDtoMapper.java
index 19747d21c7..fc59449f3d 100644
--- a/scm-webapp/src/main/java/sonia/scm/api/v2/resources/TagToTagDtoMapper.java
+++ b/scm-webapp/src/main/java/sonia/scm/api/v2/resources/TagToTagDtoMapper.java
@@ -21,7 +21,7 @@
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*/
-
+
package sonia.scm.api.v2.resources;
import de.otto.edison.hal.Embedded;