You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by mi...@apache.org on 2024/04/07 20:34:36 UTC

(maven-scm) 04/04: Properly close JGit repository

This is an automated email from the ASF dual-hosted git repository.

michaelo pushed a commit to branch feature/expose-last-modified-date
in repository https://gitbox.apache.org/repos/asf/maven-scm.git

commit 4343fb95240fe3e76b010a9179b325b7bb5651b7
Author: Konrad Windszus <kw...@apache.org>
AuthorDate: Fri Mar 29 09:54:20 2024 +0100

    Properly close JGit repository
---
 .../maven/scm/provider/git/jgit/command/info/JGitInfoCommand.java   | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/info/JGitInfoCommand.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/info/JGitInfoCommand.java
index edf562d81..06a93dc0c 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/info/JGitInfoCommand.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/info/JGitInfoCommand.java
@@ -54,7 +54,9 @@ public class JGitInfoCommand extends AbstractCommand implements GitCommand {
     protected ScmResult executeCommand(
             ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters) throws ScmException {
         File basedir = fileSet.getBasedir();
-        try (Git git = JGitUtils.openRepo(basedir); ) {
+        Git git = null;
+        try {
+            git = JGitUtils.openRepo(basedir);
             ObjectId objectId = git.getRepository().resolve(Constants.HEAD);
             if (objectId == null) {
                 throw new ScmException("Cannot resolve HEAD in git repository at " + basedir);
@@ -74,6 +76,8 @@ public class JGitInfoCommand extends AbstractCommand implements GitCommand {
             return new InfoScmResult(infoItems, new ScmResult("JGit.resolve(HEAD)", "", objectId.toString(), true));
         } catch (Exception e) {
             throw new ScmException("JGit resolve failure!", e);
+        } finally {
+            JGitUtils.closeRepo(git);
         }
     }