Package org.eclipse.jgit.util
Class FS_Win32
- java.lang.Object
-
- org.eclipse.jgit.util.FS
-
- org.eclipse.jgit.util.FS_Win32
-
- Direct Known Subclasses:
FS_Win32_Cygwin
public class FS_Win32 extends FS
FS implementation for Windows- Since:
- 3.0
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.eclipse.jgit.util.FS
FS.Attributes, FS.FSFactory
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
canExecute(File f)
Determine if the file is executable (or not).protected File
discoverGitPrefix()
boolean
isCaseSensitive()
Is this file system case sensitiveFS
newInstance()
boolean
retryFailedLockFileCommit()
Does this file system have problems with atomic renames?ProcessBuilder
runInShell(String cmd, String[] args)
Initialize a ProcesssBuilder to run a command using the system shell.boolean
setExecute(File f, boolean canExec)
Set a file to be executable by the user.boolean
supportsExecute()
Does this operating system and JRE support the execute flag on files?protected File
userHomeImpl()
Determine the user's home directory (location where preferences are).-
Methods inherited from class org.eclipse.jgit.util.FS
createSymLink, delete, detect, detect, exists, findHook, getAttributes, gitPrefix, internalRunIfPresent, isDirectory, isFile, isHidden, isSymLink, lastModified, length, normalize, normalize, readPipe, readSymLink, relativize, resolve, runIfPresent, runIfPresent, runProcess, searchPath, setGitPrefix, setHidden, setLastModified, setUserHome, supportsSymlinks, userHome
-
-
-
-
Constructor Detail
-
FS_Win32
public FS_Win32()
Constructor
-
FS_Win32
protected FS_Win32(FS src)
Constructor- Parameters:
src
- instance whose attributes to copy
-
-
Method Detail
-
newInstance
public FS newInstance()
- Specified by:
newInstance
in classFS
- Returns:
- a new instance of the same type of FS.
-
supportsExecute
public boolean supportsExecute()
Description copied from class:FS
Does this operating system and JRE support the execute flag on files?- Specified by:
supportsExecute
in classFS
- Returns:
- true if this implementation can provide reasonably accurate executable bit information; false otherwise.
-
canExecute
public boolean canExecute(File f)
Description copied from class:FS
Determine if the file is executable (or not).Not all platforms and JREs support executable flags on files. If the feature is unsupported this method will always return false.
If the platform supports symbolic links and
f
is a symbolic link this method returns false, rather than the state of the executable flags on the target file.- Specified by:
canExecute
in classFS
- Parameters:
f
- abstract path to test.- Returns:
- true if the file is believed to be executable by the user.
-
setExecute
public boolean setExecute(File f, boolean canExec)
Description copied from class:FS
Set a file to be executable by the user.Not all platforms and JREs support executable flags on files. If the feature is unsupported this method will always return false and no changes will be made to the file specified.
- Specified by:
setExecute
in classFS
- Parameters:
f
- path to modify the executable status of.canExec
- true to enable execution; false to disable it.- Returns:
- true if the change succeeded; false otherwise.
-
isCaseSensitive
public boolean isCaseSensitive()
Description copied from class:FS
Is this file system case sensitive- Specified by:
isCaseSensitive
in classFS
- Returns:
- true if this implementation is case sensitive
-
retryFailedLockFileCommit
public boolean retryFailedLockFileCommit()
Description copied from class:FS
Does this file system have problems with atomic renames?- Specified by:
retryFailedLockFileCommit
in classFS
- Returns:
- true if the caller should retry a failed rename of a lock file.
-
discoverGitPrefix
protected File discoverGitPrefix()
- Specified by:
discoverGitPrefix
in classFS
- Returns:
- the $prefix directory C Git would use.
-
userHomeImpl
protected File userHomeImpl()
Description copied from class:FS
Determine the user's home directory (location where preferences are).- Overrides:
userHomeImpl
in classFS
- Returns:
- the user's home directory; null if the user does not have one.
-
runInShell
public ProcessBuilder runInShell(String cmd, String[] args)
Description copied from class:FS
Initialize a ProcesssBuilder to run a command using the system shell.- Specified by:
runInShell
in classFS
- Parameters:
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.- Returns:
- a partially completed process builder. Caller should finish populating directory, environment, and then start the process.
-
-