public class FS_Win32_Cygwin extends FS_Win32FS implementation for Cygwin on Windows
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description
isCygwin()Whether cygwin is found
newInstance()Create a new instance of the same type of FS.
relativize(String base, String other)
resolve(File dir, String pn)Resolve this file to its actual path name that the JRE can use.
runHookIfPresent(Repository repository, String hookName, String args, OutputStream outRedirect, OutputStream errRedirect, String stdinArgs)Checks whether the given hook is defined for the given repository, then runs it with the given arguments.
runInShell(String cmd, String args)Initialize a ProcessBuilder to run a command using the system shell.
userHomeImpl()Determine the user's home directory (location where preferences are).
Methods inherited from class org.eclipse.jgit.util.FS_Win32
canExecute, discoverGitExe, getAttributes, isCaseSensitive, list, retryFailedLockFileCommit, setExecute, supportsExecute
Methods inherited from class org.eclipse.jgit.util.FS
createNewFile, createNewFileAtomic, createSymLink, delete, detect, detect, discoverGitSystemConfig, execute, exists, fileAttributes, findHook, getFileStoreAttributes, getGitSystemConfig, internalRunHookIfPresent, isDirectory, isFile, isHidden, isSymLink, lastModified, lastModifiedInstant, lastModifiedInstant, length, normalize, normalize, readPipe, readPipe, readSymLink, resolveGrandparentFile, runHookIfPresent, runProcess, runProcess, searchPath, setAsyncFileStoreAttributes, setGitSystemConfig, setHidden, setLastModified, setLastModified, setUserHome, supportsAtomicCreateNewFile, supportsSymlinks, userHome
protected FS_Win32_Cygwin(FS src)Constructor
src- instance whose attributes to copy
public static boolean isCygwin()Whether cygwin is found
- true if cygwin is found
public FS newInstance()Create a new instance of the same type of FS.
resolveResolve this file to its actual path name that the JRE can use.
This method can be relatively expensive. Computing a translation may require forking an external process per path name translated. Callers should try to minimize the number of translations necessary by caching the results.
Not all platforms and JREs require path name translation. Currently only Cygwin on Win32 require translation for Cygwin based paths.
protected File userHomeImpl()Determine the user's home directory (location where preferences are).
public ProcessBuilder runInShell(String cmd, String args)Initialize a ProcessBuilder to run a command using the system shell.
cmd- command to execute. This string should originate from the end-user, and thus is platform specific.
args- arguments to pass to command. These should be protected from shell evaluation.
- a partially completed process builder. Caller should finish populating directory, environment, and then start the process.
base- The path against which
othershould be relativized.
other- The path that will be made relative to
- A relative path that, when resolved against
base, will yield the original
- See Also:
FileUtils.relativizePath(String, String, String, boolean)
public ProcessResult runHookIfPresent(Repository repository, String hookName, String args, OutputStream outRedirect, OutputStream errRedirect, String stdinArgs) throws JGitInternalException
repository- The repository for which a hook should be run.
hookName- The name of the hook to be executed.
args- Arguments to pass to this hook. Cannot be
null, but can be an empty array.
outRedirect- A print stream on which to redirect the hook's stdout. Can be
null, in which case the hook's standard output will be lost.
errRedirect- A print stream on which to redirect the hook's stderr. Can be
null, in which case the hook's standard error will be lost.
stdinArgs- A string to pass on to the standard input of the hook. May be
- The ProcessResult describing this hook's execution.
JGitInternalException- if we fail to run the hook somehow. Causes may include an interrupted process or I/O errors.