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
  • Field Details

    • LOG

      private static final org.slf4j.Logger LOG
  • Constructor Details

    • FS_Win32

      public FS_Win32()
      Constructor
    • FS_Win32

      protected FS_Win32(FS src)
      Constructor
      Parameters:
      src - instance whose attributes to copy
  • Method Details

    • newInstance

      public FS newInstance()
      Create a new instance of the same type of FS.
      Specified by:
      newInstance in class FS
      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 class FS
      Returns:
      true if this implementation can provide reasonably accurate executable bit information; false otherwise.
    • canExecute

      public boolean canExecute(File f)
      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 class FS
      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)
      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 class FS
      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 class FS
      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 class FS
      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.
      Overrides:
      list in class FS
      Parameters:
      directory - to get the children of
      fileModeStrategy - to use to calculate the git mode of a child
      Returns:
      an array of entries for the children
    • discoverGitExe

      protected File discoverGitExe()
      Discover the path to the Git executable.
      Specified by:
      discoverGitExe in class FS
      Returns:
      the path to the Git executable or null if it cannot be determined.
    • userHomeImpl

      protected File userHomeImpl()
      Determine the user's home directory (location where preferences are).
      Overrides:
      userHomeImpl in class FS
      Returns:
      the user's home directory; null if the user does not have one.
    • runInShell

      public ProcessBuilder runInShell(String cmd, String[] args)
      Initialize a ProcessBuilder to run a command using the system shell.
      Specified by:
      runInShell in class FS
      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

      public FS.Attributes getAttributes(File path)
      Get the file attributes we care for.
      Overrides:
      getAttributes in class FS
      Parameters:
      path - a File object.
      Returns:
      the file attributes we care for.