Package org.eclipse.jgit.lib
Class FileModeCache
java.lang.Object
org.eclipse.jgit.lib.FileModeCache
A hierarchical cache of
FileMode
s per git path.- Since:
- 6.6.1
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic class
An item from aFileModeCache
, recording information about a git path (known from context). -
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionFileModeCache
(Repository repo) Creates a newFileModeCache
for aRepository
. -
Method Summary
Modifier and TypeMethodDescriptionprivate FileModeCache.CacheItem
Records the givenFileMode
for the given git path in the cache.private void
deleteSymlinkParent
(FS fs, String gitPath, File workingTree) Retrieves theRepository
.getRoot()
Obtains theFileModeCache.CacheItem
for the working tree root.safeCreateDirectory
(String gitPath, File dir, boolean makeSpace) Ensures the given directorydir
with the given git path exists.void
safeCreateParentDirectory
(String gitPath, File parentDir, boolean makeSpace) Ensure that the given parent directory exists, and cache the information that gitPath refers to a file.
-
Field Details
-
root
-
repo
-
-
Constructor Details
-
FileModeCache
Creates a newFileModeCache
for aRepository
.- Parameters:
repo
-Repository
this cache is for
-
-
Method Details
-
getRepository
Retrieves theRepository
.- Returns:
- the
Repository
thisFileModeCache
was created for
-
getRoot
Obtains theFileModeCache.CacheItem
for the working tree root.- Returns:
- the
FileModeCache.CacheItem
-
safeCreateParentDirectory
public void safeCreateParentDirectory(String gitPath, File parentDir, boolean makeSpace) throws IOException Ensure that the given parent directory exists, and cache the information that gitPath refers to a file.- Parameters:
gitPath
- of the file to be writtenparentDir
- directory in which the file shall be placed, assumed to be the parent of thegitPath
makeSpace
- whether to delete a possibly existing file atparentDir
- Throws:
IOException
- if the directory cannot be created, if necessary
-
safeCreateDirectory
public FileModeCache.CacheItem safeCreateDirectory(String gitPath, File dir, boolean makeSpace) throws IOException Ensures the given directorydir
with the given git path exists.- Parameters:
gitPath
- of a file to be writtendir
- directory in which the file shall be placed, assumed to be the parent of thegitPath
makeSpace
- whether to remove a file that already at that name- Returns:
- A
FileModeCache.CacheItem
describing the directory, which is guaranteed to exist - Throws:
IOException
- if the directory cannot be made to exist at the given location
-
deleteSymlinkParent
- Throws:
IOException
-
add
Records the givenFileMode
for the given git path in the cache. If an entry already exists for the given path, the previously cached file mode is overwritten.- Parameters:
gitPath
- to cache theFileMode
forfinalMode
-FileMode
to cache- Returns:
- the
FileModeCache.CacheItem
for the path
-