Interface TreeModification

All Known Implementing Classes:
ChangeFileContentModification, DeleteFileModification, RenameFileModification, RestoreFileModification

public interface TreeModification
A specific modification of a Git tree.
  • Method Summary

    Modifier and Type
    Method
    Description
    com.google.common.collect.ImmutableSet<String>
    Indicates all file paths affected by this TreeModification.
    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 of PathEdits 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 of PathEdits which are necessary in order to achieve the desired modification of the Git tree. The order of the PathEdits can be crucial and hence shouldn't be changed.
      Parameters:
      repository - the affected Git repository
      treeId - tree to which the modification is applied. A value of ObjectId.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 this TreeModification. If the modification refers to several file paths (e.g. renaming a file), all of them must be returned.
      Returns:
      all affected file paths