Git is installed. Make sure Git can be found via the PATH
environment variable. When installing Git for Windows check the "Run
Git from the Windows Command Prompt" option. There are other options
- like the jgit.gitprefix system property or Eclipse settings that can
- be used for pointing out where C Git is installed. Modifying PATH is
- the recommended option if C Git is installed.
+ like Eclipse settings that can be used for pointing out where C Git
+ is installed. Modifying PATH is the recommended option if C Git is
+ installed.
- We try to use the same notation of $HOME as C Git does. On Windows
this is often not the same value as the user.home system property.
private volatile Holder<File> userHome;
- private volatile Holder<File> gitPrefix;
-
/**
* Constructs a file system abstraction.
*/
*/
protected FS(FS src) {
userHome = src.userHome;
- gitPrefix = src.gitPrefix;
}
/** @return a new instance of the same type of FS. */
return null;
}
- /** @return the $prefix directory C Git would use. */
- public File gitPrefix() {
- Holder<File> p = gitPrefix;
- if (p == null) {
- String overrideGitPrefix = SystemReader.getInstance().getProperty(
- "jgit.gitprefix"); //$NON-NLS-1$
- if (overrideGitPrefix != null)
- p = new Holder<File>(new File(overrideGitPrefix));
- else
- p = new Holder<File>(discoverGitPrefix());
- gitPrefix = p;
- }
- return p.value;
- }
-
/**
* @return the path to the Git executable.
* @since 4.0
return new File(w);
}
- /** @return the $prefix directory C Git would use. */
- protected File discoverGitPrefix() {
- return resolveGrandparentFile(discoverGitExe());
- }
-
/**
* @param grandchild
* @return the parent directory of this file's parent directory or
return null;
}
- /**
- * Set the $prefix directory C Git uses.
- *
- * @param path
- * the directory. Null if C Git is not installed.
- * @return {@code this}
- */
- public FS setGitPrefix(File path) {
- gitPrefix = new Holder<File>(path);
- return this;
- }
-
/**
* Check if a file is a symbolic link and read it
*