From 291ac583c2e72c73c2d08151c5aa47a6cd3293a5 Mon Sep 17 00:00:00 2001 From: Vladimir Krivosheev Date: Thu, 21 Feb 2019 11:52:50 +0100 Subject: [PATCH] IDEA-CR-43780 ignore new config dir --- .../testSrc/ConfigImportHelperTest.kt | 7 ++++++- .../intellij/openapi/application/ConfigImportHelper.java | 5 ++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/platform/configuration-store-impl/testSrc/ConfigImportHelperTest.kt b/platform/configuration-store-impl/testSrc/ConfigImportHelperTest.kt index 148e55b633bb..4eba943ffd2a 100644 --- a/platform/configuration-store-impl/testSrc/ConfigImportHelperTest.kt +++ b/platform/configuration-store-impl/testSrc/ConfigImportHelperTest.kt @@ -9,6 +9,7 @@ import com.intellij.openapi.components.StoragePathMacros import com.intellij.openapi.components.stateStore import com.intellij.testFramework.ApplicationRule import com.intellij.testFramework.rules.InMemoryFsRule +import com.intellij.util.io.createDirectories import com.intellij.util.io.directoryStreamIfExists import com.intellij.util.io.exists import com.intellij.util.io.write @@ -68,7 +69,11 @@ class ConfigImportHelperTest { writeStorageFile("2020.1", 100, isMacOs) writeStorageFile("2021.1", 200, isMacOs) writeStorageFile("2022.1", 300, isMacOs) - val newConfigPath = fs.getPath("/data/${constructConfigPath("2022.1", isMacOs)}") + + val newConfigPath = fs.getPath("/data/${constructConfigPath("2022.3", isMacOs)}") + // create new config dir to test that it will be not suggested too (as on start of new version config dir can be created) + newConfigPath.createDirectories() + assertThat(ConfigImportHelper.findRecentConfigDirectory(newConfigPath, isMacOs).joinToString("\n")).isEqualTo(""" /data/${constructConfigPath("2022.1", isMacOs)} /data/${constructConfigPath("2021.1", isMacOs)} diff --git a/platform/platform-impl/src/com/intellij/openapi/application/ConfigImportHelper.java b/platform/platform-impl/src/com/intellij/openapi/application/ConfigImportHelper.java index f01d39ee6398..a69d11b6e19d 100644 --- a/platform/platform-impl/src/com/intellij/openapi/application/ConfigImportHelper.java +++ b/platform/platform-impl/src/com/intellij/openapi/application/ConfigImportHelper.java @@ -159,7 +159,10 @@ public class ConfigImportHelper { } final List candidates; - try (DirectoryStream stream = Files.newDirectoryStream(configsHome, it -> StringUtil.startsWithIgnoreCase(it.getFileName().toString(), prefix))) { + try (DirectoryStream stream = Files.newDirectoryStream(configsHome, it -> { + //noinspection CodeBlock2Expr + return StringUtil.startsWithIgnoreCase(it.getFileName().toString(), prefix) && !it.equals(isMacOs ? newConfigDir : newConfigDir.getParent()); + })) { candidates = ContainerUtilRt.newArrayList(stream); } catch (IOException ignore) {