Переглянути джерело

FS: Allow cloning an FS instance

This permits an application to create its own copy of FS.DETECTED
before manually setting the userHome or gitPrefix.

Bug: 337101
Change-Id: Ieea33c8d0ebdc801a4656b829d2a4b398559fd45
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
tags/v0.12.1
Shawn O. Pearce 13 роки тому
джерело
коміт
ae1f7947de

+ 14
- 0
org.eclipse.jgit/src/org/eclipse/jgit/util/FS.java Переглянути файл

// Do nothing by default. // 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? * Does this operating system and JRE support the execute flag on files?
* *

+ 8
- 0
org.eclipse.jgit/src/org/eclipse/jgit/util/FS_POSIX.java Переглянути файл

return null; return null;
} }


FS_POSIX() {
super();
}

FS_POSIX(FS src) {
super(src);
}

@Override @Override
public ProcessBuilder runInShell(String cmd, String[] args) { public ProcessBuilder runInShell(String cmd, String[] args) {
List<String> argv = new ArrayList<String>(4 + args.length); List<String> argv = new ArrayList<String>(4 + args.length);

+ 13
- 0
org.eclipse.jgit/src/org/eclipse/jgit/util/FS_POSIX_Java5.java Переглянути файл

import java.io.File; import java.io.File;


class FS_POSIX_Java5 extends FS_POSIX { 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() { public boolean supportsExecute() {
return false; return false;
} }

+ 13
- 0
org.eclipse.jgit/src/org/eclipse/jgit/util/FS_POSIX_Java6.java Переглянути файл

} }
} }


FS_POSIX_Java6() {
super();
}

FS_POSIX_Java6(FS src) {
super(src);
}

@Override
public FS newInstance() {
return new FS_POSIX_Java6(this);
}

public boolean supportsExecute() { public boolean supportsExecute() {
return true; return true;
} }

+ 12
- 0
org.eclipse.jgit/src/org/eclipse/jgit/util/FS_Win32.java Переглянути файл

&& StringUtils.toLowerCase(osDotName).indexOf("windows") != -1; && 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() { public boolean supportsExecute() {
return false; return false;
} }

+ 12
- 0
org.eclipse.jgit/src/org/eclipse/jgit/util/FS_Win32_Cygwin.java Переглянути файл

return cygpath != null; 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) { public File resolve(final File dir, final String pn) {
String w = readPipe(dir, // String w = readPipe(dir, //
new String[] { cygpath, "--windows", "--absolute", pn }, // new String[] { cygpath, "--windows", "--absolute", pn }, //

Завантаження…
Відмінити
Зберегти