I've had a problem with the java svnClientAdapter so I took a look and
came up with the following potential fix.
The issue relates to the missing environment value "SystemDrive" on windows.
Hope it helps someone.
Note this is based on the Trunk I checked out from:
http://subclipse.tigris.org/svn/subclipse/trunk/svnClientAdapter
Line 118: org.tigris.subversion.svnclientadapter.commandline.CommandLine.java
protected String[] getEnvironmentVariables()
{
final String systemDrive =
CmdLineClientAdapter.getEnvironmentVariable("SystemDrive");
final String path = CmdLineClientAdapter.getEnvironmentVariable("PATH");
final String systemRoot =
CmdLineClientAdapter.getEnvironmentVariable("SystemRoot");
final String aprIconv =
CmdLineClientAdapter.getEnvironmentVariable("APR_ICONV_PATH");
int i = 3;
if (path != null)
i++;
if (systemRoot != null)
i++;
if (systemDrive != null)
i++;
if (aprIconv != null)
i++;
String[] lcVars = getLocaleVariables();
String[] env = new String[i + lcVars.length];
i = 0;
//Clear the LC_ALL, we're going to override the LC_MESSAGES and LC_TIME
env[i] = "LC_ALL=";
i++;
//Set the LC_MESSAGES to "C" to avoid translated svn output. (We're
parsing the english one)
env[i] = "LC_MESSAGES=C";
i++;
env[i] = "LC_TIME=C";
i++;
if (path != null) {
env[i] = "PATH=" + path;
i++;
}
if (systemDrive != null) {
env[i] = "systemDrive=" + systemDrive;
i++;
}
if (systemRoot != null) {
env[i] = "SystemRoot=" + systemRoot;
i++;
}
if (aprIconv != null) {
env[i] = "APR_ICONV_PATH=" + aprIconv;
i++;
}
//Add the remaining LC vars
for (int j = 0; j < lcVars.length; j++) {
env[i] = lcVars[j];
i++;
}
return env;
}
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe_at_subversion.tigris.org
For additional commands, e-mail: users-help_at_subversion.tigris.org
Received on 2008-11-11 20:00:45 CET