From 7653d65d739babd82b3b05dfc538baec9c806639 Mon Sep 17 00:00:00 2001 From: Anna Vetcininova Date: Thu, 9 Jan 2025 20:05:56 +0100 Subject: [PATCH] Update commons-compress to 1.27.1 --- gradle/dependencies.gradle | 2 +- .../repository/xml/PathBasedRepositoryLocationResolver.java | 3 +++ .../xml/PathBasedRepositoryLocationResolverTest.java | 2 -- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/gradle/dependencies.gradle b/gradle/dependencies.gradle index aad833d46e..42e4d4b8c1 100644 --- a/gradle/dependencies.gradle +++ b/gradle/dependencies.gradle @@ -96,7 +96,7 @@ ext { // utils guava: 'com.google.guava:guava:33.3.1-jre', commonsLang: 'commons-lang:commons-lang:2.6', - commonsCompress: 'org.apache.commons:commons-compress:1.23.0', + commonsCompress: 'org.apache.commons:commons-compress:1.27.1', commonsIo: 'commons-io:commons-io:2.13.0', commonsLang3: 'org.apache.commons:commons-lang3:3.13.0', diff --git a/scm-dao-xml/src/main/java/sonia/scm/repository/xml/PathBasedRepositoryLocationResolver.java b/scm-dao-xml/src/main/java/sonia/scm/repository/xml/PathBasedRepositoryLocationResolver.java index 9572a39c6e..4f6668f735 100644 --- a/scm-dao-xml/src/main/java/sonia/scm/repository/xml/PathBasedRepositoryLocationResolver.java +++ b/scm-dao-xml/src/main/java/sonia/scm/repository/xml/PathBasedRepositoryLocationResolver.java @@ -130,6 +130,9 @@ public class PathBasedRepositoryLocationResolver extends BasicRepositoryLocation } private void modifyLocation(String repositoryId, Path newPath, Modifier modifier) throws RepositoryStorageException { + if (newPath.toFile().exists() && !newPath.toFile().canWrite()) { + throw new RepositoryStorageException("cannot create repository at new path " + newPath + "; path is not writable"); + } maintenanceCallbacks.fire().downForMaintenance(new DownForMaintenanceContext(repositoryId)); Path oldPath = pathById.get(repositoryId); pathById.remove(repositoryId); diff --git a/scm-dao-xml/src/test/java/sonia/scm/repository/xml/PathBasedRepositoryLocationResolverTest.java b/scm-dao-xml/src/test/java/sonia/scm/repository/xml/PathBasedRepositoryLocationResolverTest.java index 7795b3d561..bdb55e9829 100644 --- a/scm-dao-xml/src/test/java/sonia/scm/repository/xml/PathBasedRepositoryLocationResolverTest.java +++ b/scm-dao-xml/src/test/java/sonia/scm/repository/xml/PathBasedRepositoryLocationResolverTest.java @@ -233,8 +233,6 @@ class PathBasedRepositoryLocationResolverTest { assertThat(newPath).exists(); assertThat(oldPath).exists(); assertThat(resolverWithExistingData.create(Path.class).getLocation("existingId_1")).isEqualTo(oldPath); - verify(maintenanceCallback).downForMaintenance(new DownForMaintenanceContext("existingId_1")); - verify(maintenanceCallback).upAfterMaintenance(new UpAfterMaintenanceContext("existingId_1", oldPath)); } }