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
FS implementation for Windows
- Since:
- 3.0
-
Nested Class Summary
Nested classes/interfaces inherited from class org.eclipse.jgit.util.FS
FS.Attributes, FS.ExecutionResult, FS.FileStoreAttributes, FS.FSFactory, FS.LockToken
-
Field Summary
FieldsFields inherited from class org.eclipse.jgit.util.FS
DETECTED, NO_ENTRIES
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionboolean
canExecute
(File f) Determine if the file is executable (or not).protected File
Discover the path to the Git executable.getAttributes
(File path) Get the file attributes we care for.boolean
Is this file system case sensitivelist
(File directory, FileTreeIterator.FileModeStrategy fileModeStrategy) Enumerates children of a directory.Create a new instance of the same type of FS.boolean
Does this file system have problems with atomic renames?runInShell
(String cmd, String[] args) Initialize a ProcessBuilder to run a command using the system shell.boolean
setExecute
(File f, boolean canExec) Set a file to be executable by the user.boolean
Does this operating system and JRE support the execute flag on files?protected File
Determine the user's home directory (location where preferences are).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, relativize, resolve, resolveGrandparentFile, runHookIfPresent, runHookIfPresent, runProcess, runProcess, searchPath, setAsyncFileStoreAttributes, setGitSystemConfig, setHidden, setLastModified, setLastModified, setUserHome, shellQuote, supportsAtomicCreateNewFile, supportsSymlinks, userHome
-
Field Details
-
LOG
private static final org.slf4j.Logger LOG
-
-
Constructor Details
-
FS_Win32
public FS_Win32()Constructor -
FS_Win32
Constructor- Parameters:
src
- instance whose attributes to copy
-
-
Method Details
-
newInstance
Create a new instance of the same type of FS.- Specified by:
newInstance
in classFS
- Returns:
- a new instance of the same type of FS.
-
supportsExecute
public boolean supportsExecute()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
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
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()Is this file system case sensitive- Specified by:
isCaseSensitive
in classFS
- Returns:
- true if this implementation is case sensitive
-
retryFailedLockFileCommit
public boolean retryFailedLockFileCommit()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.
-
list
public WorkingTreeIterator.Entry[] list(File directory, FileTreeIterator.FileModeStrategy fileModeStrategy) Enumerates children of a directory. -
discoverGitExe
Discover the path to the Git executable.- Specified by:
discoverGitExe
in classFS
- Returns:
- the path to the Git executable or
null
if it cannot be determined.
-
userHomeImpl
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
Initialize a ProcessBuilder 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.
-
getAttributes
Get the file attributes we care for.- Overrides:
getAttributes
in classFS
- Parameters:
path
- aFile
object.- Returns:
- the file attributes we care for.
-