Interface TreeModification
-
- All Known Implementing Classes:
ChangeFileContentModification
,DeleteFileModification
,RenameFileModification
,RestoreFileModification
public interface TreeModification
A specific modification of a Git tree.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description com.google.common.collect.ImmutableSet<String>
getFilePaths()
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 ofPathEdit
s which are necessary in order to achieve the desired modification of the Git tree.
-
-
-
Method Detail
-
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 ofPathEdit
s which are necessary in order to achieve the desired modification of the Git tree. The order of thePathEdit
s 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
PathEdit
s - 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
-
-