From 3f77d806da463bc6f747bf5ec21f7b6ce4c5bceb Mon Sep 17 00:00:00 2001 From: Dave Syer Date: Tue, 22 Dec 2015 13:13:19 +0000 Subject: [PATCH] Explicitly close all Git objects It's good manners to do so anyway (and if Git was Closeable we would have seen compiler warnings). Hopefully means that Windows users are more happy. --- .../environment/JGitEnvironmentRepository.java | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) 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 78e57dfc..a7556436 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 @@ -113,8 +113,9 @@ public class JGitEnvironmentRepository extends AbstractScmEnvironmentRepository } @Override - public synchronized Locations getLocations(String application, String profile, String label) { - if (label==null) { + public synchronized Locations getLocations(String application, String profile, + String label) { + if (label == null) { label = this.defaultLabel; } Ref ref = refresh(application, label); @@ -122,7 +123,8 @@ public class JGitEnvironmentRepository extends AbstractScmEnvironmentRepository if (ref != null) { version = ref.getObjectId().getName(); } - return new Locations(application, profile, label, version, getSearchLocations(getWorkingDirectory())); + return new Locations(application, profile, label, version, + getSearchLocations(getWorkingDirectory())); } @Override @@ -178,8 +180,14 @@ public class JGitEnvironmentRepository extends AbstractScmEnvironmentRepository private void initClonedRepository() throws GitAPIException, IOException { if (!getUri().startsWith(FILE_URI_PREFIX)) { deleteBaseDirIfExists(); - cloneToBasedir(); - openGitRepository(); + Git git = cloneToBasedir(); + if (git != null) { + git.close(); + } + git = openGitRepository(); + if (git != null) { + git.close(); + } } }