Interface TreeModification
- All Known Implementing Classes:
ChangeFileContentModification,DeleteFileModification,RenameFileModification,RestoreFileModification
public interface TreeModification
A specific modification of a Git tree.
-
Method Summary
Modifier and TypeMethodDescriptioncom.google.common.collect.ImmutableSet<String> Indicates all file paths affected by thisTreeModification.List<org.eclipse.jgit.dircache.DirCacheEditor.PathEdit> getPathEdits(org.eclipse.jgit.lib.Repository repository, org.eclipse.jgit.lib.ObjectId treeId, com.google.common.collect.ImmutableList<? extends org.eclipse.jgit.lib.ObjectId> parents) Returns a list ofPathEdits which are necessary in order to achieve the desired modification of the Git tree.
-
Method Details
-
getPathEdits
List<org.eclipse.jgit.dircache.DirCacheEditor.PathEdit> getPathEdits(org.eclipse.jgit.lib.Repository repository, org.eclipse.jgit.lib.ObjectId treeId, com.google.common.collect.ImmutableList<? extends org.eclipse.jgit.lib.ObjectId> parents) throws IOException Returns a list ofPathEdits which are necessary in order to achieve the desired modification of the Git tree. The order of thePathEdits can be crucial and hence shouldn't be changed.- Parameters:
repository- the affected Git repositorytreeId- tree to which the modification is applied. A value ofObjectId.zero()indicates an empty tree.parents- parent commits of the commit to whose tree this modification is applied- Returns:
- an ordered list of necessary
PathEdits - Throws:
IOException- if problems arise when accessing the repository
-
getFilePaths
com.google.common.collect.ImmutableSet<String> getFilePaths()Indicates all file paths affected by thisTreeModification. If the modification refers to several file paths (e.g. renaming a file), all of them must be returned.- Returns:
- all affected file paths
-