Change-Id: I34e9ba4a26f7af5b88140c070f02a7990f1941aftags/v2.1.0.201209190230-r
@@ -1024,7 +1024,7 @@ public class DirCacheCheckout { | |||
private static boolean isValidPathSegment(CanonicalTreeParser t) { | |||
String osName = SystemReader.getInstance().getProperty("os.name"); | |||
boolean isWindows = "Windows".equals(osName); | |||
boolean isOSX = "Darwin".equals(osName) || "Mac OS X".equals(osName); | |||
boolean isOSX = SystemReader.getInstance().isMacOS(); | |||
boolean ignCase = isOSX || isWindows; | |||
int ptr = t.getNameOffset(); |
@@ -44,8 +44,6 @@ package org.eclipse.jgit.util; | |||
import java.io.File; | |||
import java.nio.charset.Charset; | |||
import java.security.AccessController; | |||
import java.security.PrivilegedAction; | |||
import java.util.ArrayList; | |||
import java.util.Arrays; | |||
import java.util.List; | |||
@@ -58,7 +56,7 @@ abstract class FS_POSIX extends FS { | |||
if (gitExe != null) | |||
return gitExe.getParentFile().getParentFile(); | |||
if (isMacOS()) { | |||
if (SystemReader.getInstance().isMacOS()) { | |||
// On MacOSX, PATH is shorter when Eclipse is launched from the | |||
// Finder than from a terminal. Therefore try to launch bash as a | |||
// login shell and search using that. | |||
@@ -87,10 +85,7 @@ abstract class FS_POSIX extends FS { | |||
@Override | |||
public boolean isCaseSensitive() { | |||
if (isMacOS()) | |||
return false; | |||
else | |||
return true; | |||
return !SystemReader.getInstance().isMacOS(); | |||
} | |||
@Override | |||
@@ -105,14 +100,4 @@ abstract class FS_POSIX extends FS { | |||
proc.command(argv); | |||
return proc; | |||
} | |||
private static boolean isMacOS() { | |||
final String osDotName = AccessController | |||
.doPrivileged(new PrivilegedAction<String>() { | |||
public String run() { | |||
return System.getProperty("os.name"); | |||
} | |||
}); | |||
return "Mac OS X".equals(osDotName) || "Darwin".equals(osDotName); | |||
} | |||
} |
@@ -49,6 +49,8 @@ package org.eclipse.jgit.util; | |||
import java.io.File; | |||
import java.net.InetAddress; | |||
import java.net.UnknownHostException; | |||
import java.security.AccessController; | |||
import java.security.PrivilegedAction; | |||
import java.text.DateFormat; | |||
import java.text.SimpleDateFormat; | |||
import java.util.Locale; | |||
@@ -237,4 +239,17 @@ public abstract class SystemReader { | |||
return DateFormat.getDateTimeInstance(dateStyle, timeStyle); | |||
} | |||
/** | |||
* @return true if we are running on Mac OS X | |||
*/ | |||
public boolean isMacOS() { | |||
String osDotName = AccessController | |||
.doPrivileged(new PrivilegedAction<String>() { | |||
public String run() { | |||
return getProperty("os.name"); | |||
} | |||
}); | |||
return "Mac OS X".equals(osDotName) || "Darwin".equals(osDotName); | |||
} | |||
} |