Browse Source

Move resolveGrandparentFile() to the base class for wider use

Change-Id: I67ec732ea2e5345a6946783f0c5ef60c07ce254e
Signed-off-by: Sebastian Schuberth <sschuberth@gmail.com>
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
stable-4.1
Sebastian Schuberth 9 years ago committed by Matthias Sohn
parent
commit
8025443db4
  1. 15
      org.eclipse.jgit/src/org/eclipse/jgit/util/FS.java
  2. 7
      org.eclipse.jgit/src/org/eclipse/jgit/util/FS_POSIX.java
  3. 9
      org.eclipse.jgit/src/org/eclipse/jgit/util/FS_Win32.java

15
org.eclipse.jgit/src/org/eclipse/jgit/util/FS.java

@ -507,6 +507,21 @@ public abstract class FS {
/** @return the $prefix directory C Git would use. */ /** @return the $prefix directory C Git would use. */
protected abstract File discoverGitPrefix(); protected abstract File discoverGitPrefix();
/**
* @param grandchild
* @return the parent directory of this file's parent directory or
* {@code null} in case there's no grandparent directory
* @since 4.0
*/
protected static File resolveGrandparentFile(File grandchild) {
if (grandchild != null) {
File parent = grandchild.getParentFile();
if (parent != null)
return parent.getParentFile();
}
return null;
}
/** /**
* Set the $prefix directory C Git uses. * Set the $prefix directory C Git uses.
* *

7
org.eclipse.jgit/src/org/eclipse/jgit/util/FS_POSIX.java

@ -138,7 +138,7 @@ public class FS_POSIX extends FS {
String path = SystemReader.getInstance().getenv("PATH"); //$NON-NLS-1$ String path = SystemReader.getInstance().getenv("PATH"); //$NON-NLS-1$
File gitExe = searchPath(path, "git"); //$NON-NLS-1$ File gitExe = searchPath(path, "git"); //$NON-NLS-1$
if (gitExe != null) if (gitExe != null)
return gitExe.getParentFile().getParentFile(); return resolveGrandparentFile(gitExe);
if (SystemReader.getInstance().isMacOS()) { if (SystemReader.getInstance().isMacOS()) {
// On MacOSX, PATH is shorter when Eclipse is launched from the // On MacOSX, PATH is shorter when Eclipse is launched from the
@ -150,10 +150,7 @@ public class FS_POSIX extends FS {
Charset.defaultCharset().name()); Charset.defaultCharset().name());
if (w == null || w.length() == 0) if (w == null || w.length() == 0)
return null; return null;
File parentFile = new File(w).getParentFile(); return resolveGrandparentFile(new File(w));
if (parentFile == null)
return null;
return parentFile.getParentFile();
} }
return null; return null;

9
org.eclipse.jgit/src/org/eclipse/jgit/util/FS_Win32.java

@ -128,15 +128,6 @@ public class FS_Win32 extends FS {
return null; return null;
} }
private static File resolveGrandparentFile(File grandchild) {
if (grandchild != null) {
File parent = grandchild.getParentFile();
if (parent != null)
return parent.getParentFile();
}
return null;
}
@Override @Override
protected File userHomeImpl() { protected File userHomeImpl() {
String home = SystemReader.getInstance().getenv("HOME"); //$NON-NLS-1$ String home = SystemReader.getInstance().getenv("HOME"); //$NON-NLS-1$

Loading…
Cancel
Save