diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/MultipleJGitEnvironmentRepository.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/MultipleJGitEnvironmentRepository.java index 67c34d63..bc4ee652 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/MultipleJGitEnvironmentRepository.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/MultipleJGitEnvironmentRepository.java @@ -200,7 +200,7 @@ public class MultipleJGitEnvironmentRepository extends JGitEnvironmentRepository return list; } - private JGitEnvironmentRepository getRepository(JGitEnvironmentRepository repository, + JGitEnvironmentRepository getRepository(JGitEnvironmentRepository repository, String application, String profile, String label) { if (!repository.getUri().contains("{")) { return repository; @@ -234,8 +234,7 @@ public class MultipleJGitEnvironmentRepository extends JGitEnvironmentRepository File basedir = repository.getBasedir(); BeanUtils.copyProperties(source, repository); repository.setUri(uri); - repository.setBasedir( - new File(source.getBasedir().getParentFile(), basedir.getName())); + repository.setBasedir(new File(source.getBasedir(), basedir.getName())); return repository; } diff --git a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/MultipleJGitEnvironmentRepositoryTests.java b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/MultipleJGitEnvironmentRepositoryTests.java index 35335b22..b5074af2 100644 --- a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/MultipleJGitEnvironmentRepositoryTests.java +++ b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/MultipleJGitEnvironmentRepositoryTests.java @@ -92,6 +92,17 @@ public class MultipleJGitEnvironmentRepositoryTests { assertVersion(environment); } + @Test + public void baseDirRepo() { + this.repository + .setUri(this.repository.getUri().replace("config-repo", "{application}")); + repository.setBasedir(new File("target/testBase")); + JGitEnvironmentRepository newRepo = this.repository.getRepository(this.repository, + "config-repo", "staging", "master"); + assertThat(newRepo.getBasedir().getAbsolutePath().contains("target/testBase")) + .isTrue(); + } + private void assertVersion(Environment environment) { String version = environment.getVersion(); assertThat(version).as("version was null").isNotNull();