// Do nothing by default.
}
+ /**
+ * Initialize this FS using another's current settings.
+ *
+ * @param src
+ * the source FS to copy from.
+ */
+ protected FS(FS src) {
+ userHome = src.userHome;
+ gitPrefix = src.gitPrefix;
+ }
+
+ /** @return a new instance of the same type of FS. */
+ public abstract FS newInstance();
+
/**
* Does this operating system and JRE support the execute flag on files?
*
return null;
}
+ FS_POSIX() {
+ super();
+ }
+
+ FS_POSIX(FS src) {
+ super(src);
+ }
+
@Override
public ProcessBuilder runInShell(String cmd, String[] args) {
List<String> argv = new ArrayList<String>(4 + args.length);
import java.io.File;
class FS_POSIX_Java5 extends FS_POSIX {
+ FS_POSIX_Java5() {
+ super();
+ }
+
+ FS_POSIX_Java5(FS src) {
+ super(src);
+ }
+
+ @Override
+ public FS newInstance() {
+ return new FS_POSIX_Java5(this);
+ }
+
public boolean supportsExecute() {
return false;
}
}
}
+ FS_POSIX_Java6() {
+ super();
+ }
+
+ FS_POSIX_Java6(FS src) {
+ super(src);
+ }
+
+ @Override
+ public FS newInstance() {
+ return new FS_POSIX_Java6(this);
+ }
+
public boolean supportsExecute() {
return true;
}
&& StringUtils.toLowerCase(osDotName).indexOf("windows") != -1;
}
+ FS_Win32() {
+ super();
+ }
+
+ FS_Win32(FS src) {
+ super(src);
+ }
+
+ public FS newInstance() {
+ return new FS_Win32(this);
+ }
+
public boolean supportsExecute() {
return false;
}
return cygpath != null;
}
+ FS_Win32_Cygwin() {
+ super();
+ }
+
+ FS_Win32_Cygwin(FS src) {
+ super(src);
+ }
+
+ public FS newInstance() {
+ return new FS_Win32_Cygwin(this);
+ }
+
public File resolve(final File dir, final String pn) {
String w = readPipe(dir, //
new String[] { cygpath, "--windows", "--absolute", pn }, //