Dont use parent of basedir when using a parameterized url (#1180)

* Dont use parent of basedir when using a parameterized url.  Fixes #1175
This commit is contained in:
Ryan Baxter
2019-02-13 15:42:49 -06:00
committed by GitHub
parent d54a441e05
commit 9a0b39acb3
2 changed files with 13 additions and 3 deletions

View File

@@ -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;
}

View File

@@ -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();