Fix NPE FS_Win32 when looking up git executable and home directory
avoiding redundant code Bug: 397336 Change-Id: I60e1baa52e00c5ec3915b859bfc6a4572611cc89
This commit is contained in:
parent
0421481978
commit
8315439401
|
@ -90,7 +90,7 @@ protected File discoverGitPrefix() {
|
|||
String path = SystemReader.getInstance().getenv("PATH"); //$NON-NLS-1$
|
||||
File gitExe = searchPath(path, "git.exe", "git.cmd"); //$NON-NLS-1$ //$NON-NLS-2$
|
||||
if (gitExe != null)
|
||||
return gitExe.getParentFile().getParentFile();
|
||||
return resolveGrandparentFile(gitExe);
|
||||
|
||||
// This isn't likely to work, if bash is in $PATH, git should
|
||||
// also be in $PATH. But its worth trying.
|
||||
|
@ -102,7 +102,16 @@ protected File discoverGitPrefix() {
|
|||
// 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 resolveGrandparentFile(gitExe);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
private static File resolveGrandparentFile(File grandchild) {
|
||||
if (grandchild != null) {
|
||||
File parent = grandchild.getParentFile();
|
||||
if (parent != null)
|
||||
return parent.getParentFile();
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
@ -115,7 +124,8 @@ protected File userHomeImpl() {
|
|||
String homeDrive = SystemReader.getInstance().getenv("HOMEDRIVE"); //$NON-NLS-1$
|
||||
if (homeDrive != null) {
|
||||
String homePath = SystemReader.getInstance().getenv("HOMEPATH"); //$NON-NLS-1$
|
||||
return new File(homeDrive, homePath);
|
||||
if (homePath != null)
|
||||
return new File(homeDrive, homePath);
|
||||
}
|
||||
|
||||
String homeShare = SystemReader.getInstance().getenv("HOMESHARE"); //$NON-NLS-1$
|
||||
|
|
Loading…
Reference in New Issue