@ -64,6 +64,9 @@ class FS_Win32 extends FS {
& & StringUtils . toLowerCase ( osDotName ) . indexOf ( "windows" ) ! = - 1 ;
& & StringUtils . toLowerCase ( osDotName ) . indexOf ( "windows" ) ! = - 1 ;
}
}
private File gitPrefix ;
private boolean gitPrefixEvaluated ;
public boolean supportsExecute ( ) {
public boolean supportsExecute ( ) {
return false ;
return false ;
}
}
@ -83,11 +86,14 @@ class FS_Win32 extends FS {
@Override
@Override
public File gitPrefix ( ) {
public File gitPrefix ( ) {
if ( gitPrefixEvaluated )
return gitPrefix ;
String path = SystemReader . getInstance ( ) . getenv ( "PATH" ) ;
String path = SystemReader . getInstance ( ) . getenv ( "PATH" ) ;
File gitExe = searchPath ( path , "git.exe" , "git.cmd" ) ;
File gitExe = searchPath ( path , "git.exe" , "git.cmd" ) ;
if ( gitExe ! = null )
if ( gitExe ! = null )
return gitExe . getParentFile ( ) . getParentFile ( ) ;
gitPrefix = gitExe . getParentFile ( ) . getParentFile ( ) ;
else {
// This isn't likely to work, if bash is in $PATH, git should
// This isn't likely to work, if bash is in $PATH, git should
// also be in $PATH. But its worth trying.
// also be in $PATH. But its worth trying.
//
//
@ -95,9 +101,11 @@ class FS_Win32 extends FS {
new String [ ] { "bash" , "--login" , "-c" , "which git" } , //
new String [ ] { "bash" , "--login" , "-c" , "which git" } , //
Charset . defaultCharset ( ) . name ( ) ) ;
Charset . defaultCharset ( ) . name ( ) ) ;
if ( w ! = null )
if ( w ! = null )
return new File ( w ) . getParentFile ( ) . getParentFile ( ) ;
gitPrefix = new File ( w ) . getParentFile ( ) . getParentFile ( ) ;
}
return null ;
gitPrefixEvaluated = true ;
return gitPrefix ;
}
}
@Override
@Override