You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by im...@apache.org on 2013/11/24 14:12:02 UTC
[3/8] git commit: clean memory on windows
clean memory on windows
Project: http://git-wip-us.apache.org/repos/asf/maven-scm/repo
Commit: http://git-wip-us.apache.org/repos/asf/maven-scm/commit/3122ea55
Tree: http://git-wip-us.apache.org/repos/asf/maven-scm/tree/3122ea55
Diff: http://git-wip-us.apache.org/repos/asf/maven-scm/diff/3122ea55
Branch: refs/heads/master
Commit: 3122ea5515c646c6e512391efba5a90c1d123936
Parents: 598a90e
Author: imod <do...@fortysix.ch>
Authored: Mon Nov 18 20:22:06 2013 +0100
Committer: imod <do...@fortysix.ch>
Committed: Mon Nov 18 20:22:06 2013 +0100
----------------------------------------------------------------------
.../scm/provider/git/jgit/command/JGitUtils.java | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/maven-scm/blob/3122ea55/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/JGitUtils.java
----------------------------------------------------------------------
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/JGitUtils.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/JGitUtils.java
index 08c3376..3e7e273 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/JGitUtils.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/JGitUtils.java
@@ -80,6 +80,16 @@ import java.util.Set;
*/
public class JGitUtils
{
+
+ private static boolean IS_WINDOWS = false;
+ static
+ {
+ String osName = System.getProperty( "os.name" );
+ if ( osName.indexOf( "windows" ) != -1 )
+ {
+ IS_WINDOWS = true;
+ }
+ }
private JGitUtils()
{
@@ -95,6 +105,14 @@ public class JGitUtils
if ( git != null && git.getRepository() != null )
{
git.getRepository().close();
+ if ( IS_WINDOWS )
+ {
+ // Since memory mapping is controlled by the GC we need to
+ // tell it this is a good time to clean up and unlock
+ // memory mapped files.
+ // see also org.eclipse.jgit.junit.LocalDiskRepositoryTestCase
+ System.gc();
+ }
}
}