Class FS_Win32_Cygwin


public class FS_Win32_Cygwin extends FS_Win32
FS implementation for Cygwin on Windows
Since:
3.0
  • Field Details

    • LOG

      private static final org.slf4j.Logger LOG
    • cygpath

      private static String cygpath
  • Constructor Details

    • FS_Win32_Cygwin

      public FS_Win32_Cygwin()
      Constructor
    • FS_Win32_Cygwin

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

    • isCygwin

      public static boolean isCygwin()
      Whether cygwin is found
      Returns:
      true if cygwin is found
    • newInstance

      public FS newInstance()
      Create a new instance of the same type of FS.
      Overrides:
      newInstance in class FS_Win32
      Returns:
      a new instance of the same type of FS.
    • resolve

      public File resolve(File dir, String pn)
      Resolve 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.

      Overrides:
      resolve in class FS
      Parameters:
      dir - directory relative to which the path name is.
      pn - path name to translate.
      Returns:
      the translated path. new File(dir,name) if this platform does not require path name translation.
    • userHomeImpl

      protected File userHomeImpl()
      Determine the user's home directory (location where preferences are).
      Overrides:
      userHomeImpl in class FS_Win32
      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.
      Overrides:
      runInShell in class FS_Win32
      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.
    • shellQuote

      String shellQuote(String cmd)
      Description copied from class: FS
      Quote a string (such as a file system path obtained from a Java File or Path object) such that it can be passed as first argument to FS.runInShell(String, String[]).

      This default implementation returns the string unchanged.

      Overrides:
      shellQuote in class FS
      Parameters:
      cmd - the String to quote
      Returns:
      the quoted string
    • relativize

      public String relativize(String base, String other)
      Overrides:
      relativize in class FS
      Parameters:
      base - The path against which other should be relativized.
      other - The path that will be made relative to base.
      Returns:
      A relative path that, when resolved against base, will yield the original other.
      See Also:
    • runHookIfPresent

      public ProcessResult runHookIfPresent(Repository repository, String hookName, String[] args, OutputStream outRedirect, OutputStream errRedirect, String stdinArgs) throws JGitInternalException
      Checks whether the given hook is defined for the given repository, then runs it with the given arguments.
      Overrides:
      runHookIfPresent in class FS
      Parameters:
      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 null.
      Returns:
      The ProcessResult describing this hook's execution.
      Throws:
      JGitInternalException - if we fail to run the hook somehow. Causes may include an interrupted process or I/O errors.