diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/JGitEnvironmentRepository.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/JGitEnvironmentRepository.java index c6c3c518..ff120322 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/JGitEnvironmentRepository.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/JGitEnvironmentRepository.java @@ -281,9 +281,10 @@ public class JGitEnvironmentRepository extends AbstractScmEnvironmentRepository } private FetchResult fetch(Git git, String label) { - FetchCommand fetch = git.fetch() - .setRemote("origin") - .setTagOpt(TagOpt.FETCH_TAGS); + FetchCommand fetch = git.fetch(); + fetch.setRemote("origin"); + fetch.setTagOpt(TagOpt.FETCH_TAGS); + setTimeout(fetch); try { if (hasText(getUsername())) { diff --git a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/JGitEnvironmentRepositoryIntegrationTests.java b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/JGitEnvironmentRepositoryIntegrationTests.java index eb2047b6..6f1fde9d 100644 --- a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/JGitEnvironmentRepositoryIntegrationTests.java +++ b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/JGitEnvironmentRepositoryIntegrationTests.java @@ -428,9 +428,17 @@ public class JGitEnvironmentRepositoryIntegrationTests { environment = testData.getRepository().findOne("bar", "staging", "testTag"); fooProperty = ConfigServerTestUtils.getProperty(environment, "bar.properties", "foo"); assertEquals(fooProperty, "bar"); + + //now move the tag and test again + serverGit.tag().setName("testTag").setForceUpdate(true).setMessage("Testing a moved tag").call(); + + environment = testData.getRepository().findOne("bar", "staging", "testTag"); + fooProperty = ConfigServerTestUtils.getProperty(environment, "bar.properties", "foo"); + assertEquals(fooProperty, "testAfterTag"); + } - @Test + @Test public void testNewCommitID() throws Exception { JGitConfigServerTestData testData = JGitConfigServerTestData.prepareClonedGitRepository(TestConfiguration.class);