From 564aca904c044449a054263436bd1ce3f639ed12 Mon Sep 17 00:00:00 2001 From: Derek Smart Date: Wed, 7 Feb 2024 23:08:15 -0500 Subject: [PATCH 1/2] Update GitPathHandler.java --- .../java/org/liquibase/ext/resource/git/GitPathHandler.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/liquibase/ext/resource/git/GitPathHandler.java b/src/main/java/org/liquibase/ext/resource/git/GitPathHandler.java index 6ac0c1e..1931d4a 100644 --- a/src/main/java/org/liquibase/ext/resource/git/GitPathHandler.java +++ b/src/main/java/org/liquibase/ext/resource/git/GitPathHandler.java @@ -52,11 +52,11 @@ public ResourceAccessor getResourceAccessor(String root) throws IOException { if (!path.exists()) { path.mkdirs(); } + Repository repository = null; try { RepositoryBuilder repositoryBuilder = new RepositoryBuilder().setGitDir(gitPath); - Repository repository = repositoryBuilder.build(); + repository = repositoryBuilder.build(); if (repository.getObjectDatabase().exists()) { - repository.close(); Git git = Git.open(path); if (branch != null && !branch.isEmpty()) { git.checkout().setName(branch).call(); @@ -72,6 +72,7 @@ public ResourceAccessor getResourceAccessor(String root) throws IOException { } catch (GitAPIException | JGitInternalException e) { throw new IOException(e.getMessage()); } finally { + repository.close(); Git.shutdown(); } Scope.getCurrentScope().getLog(GitPathHandler.class).fine("Return DirectoryResourceAccessor for root path " + path); From 11cfcf37e1309b646c0085ee4f9e48acb36ec0d2 Mon Sep 17 00:00:00 2001 From: Derek Smart Date: Thu, 8 Feb 2024 08:56:16 -0500 Subject: [PATCH 2/2] Update GitPathHandler.java --- .../java/org/liquibase/ext/resource/git/GitPathHandler.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/liquibase/ext/resource/git/GitPathHandler.java b/src/main/java/org/liquibase/ext/resource/git/GitPathHandler.java index 1931d4a..ce401b8 100644 --- a/src/main/java/org/liquibase/ext/resource/git/GitPathHandler.java +++ b/src/main/java/org/liquibase/ext/resource/git/GitPathHandler.java @@ -72,7 +72,9 @@ public ResourceAccessor getResourceAccessor(String root) throws IOException { } catch (GitAPIException | JGitInternalException e) { throw new IOException(e.getMessage()); } finally { - repository.close(); + if (repository != null) { + repository.close(); + } Git.shutdown(); } Scope.getCurrentScope().getLog(GitPathHandler.class).fine("Return DirectoryResourceAccessor for root path " + path);