If JGit got a cygwin path it would fail to resolve directories relative to it. Also add system property to debug problems with the FS utilities. Enable debug using -Djgit.fs.debug=1 Furthermore use -Djgit.gitprefix=<path> to set the git prefix manually. Change-Id: I5a58ee45c2d2ae5322f87fd6972526169b2918c8 Signed-off-by: Robin Rosenberg <robin.rosenberg@dewire.com>tags/v0.12.1
@@ -286,7 +286,9 @@ public abstract class FS { | |||
} | |||
} | |||
} catch (IOException e) { | |||
// ignore | |||
if (SystemReader.getInstance().getProperty("jgit.fs.debug") != null) | |||
System.err.println(e); | |||
// Ignore error (but report) | |||
} | |||
return null; | |||
} | |||
@@ -295,7 +297,12 @@ public abstract class FS { | |||
public File gitPrefix() { | |||
Holder<File> p = gitPrefix; | |||
if (p == null) { | |||
p = new Holder<File>(discoverGitPrefix()); | |||
String overrideGitPrefix = SystemReader.getInstance().getProperty( | |||
"jgit.gitprefix"); | |||
if (overrideGitPrefix != null) | |||
p = new Holder<File>(new File(overrideGitPrefix)); | |||
else | |||
p = new Holder<File>(discoverGitPrefix()); | |||
gitPrefix = p; | |||
} | |||
return p.value; |
@@ -106,8 +106,12 @@ class FS_Win32 extends FS { | |||
String w = readPipe(userHome(), // | |||
new String[] { "bash", "--login", "-c", "which git" }, // | |||
Charset.defaultCharset().name()); | |||
if (w != null) | |||
return new File(w).getParentFile().getParentFile(); | |||
if (w != null) { | |||
// The path may be in cygwin/msys notation so resolve it right away | |||
gitExe = resolve(null, w); | |||
if (gitExe != null) | |||
return gitExe.getParentFile().getParentFile(); | |||
} | |||
return null; | |||
} | |||