Class TreeRevFilter

java.lang.Object
org.eclipse.jgit.revwalk.filter.RevFilter
org.eclipse.jgit.revwalk.TreeRevFilter

public class TreeRevFilter extends RevFilter
Filter applying a TreeFilter against changed paths in each commit.

Each commit is differenced concurrently against all of its parents to look for tree entries that are interesting to the TreeFilter.

Since:
3.5
  • Constructor Details

    • TreeRevFilter

      public TreeRevFilter(RevWalk walker, TreeFilter t)
      Create a RevFilter from a TreeFilter.
      Parameters:
      walker - walker used for reading trees.
      t - filter to compare against any changed paths in each commit. If a FollowFilter, will be replaced with a new filter following new paths after a rename.
      Since:
      3.5
  • Method Details

    • clone

      public RevFilter clone()
      Description copied from class: RevFilter

      Clone this revision filter, including its parameters.

      This is a deep clone. If this filter embeds objects or other filters it must also clone those, to ensure the instances do not share mutable data.

      Specified by:
      clone in class RevFilter
    • include

      Description copied from class: RevFilter
      Determine if the supplied commit should be included in results.
      Specified by:
      include in class RevFilter
      Parameters:
      walker - the active walker this filter is being invoked from within.
      c - the commit currently being tested. The commit has been parsed and its body is available for inspection only if the filter returns true from RevFilter.requiresCommitBody().
      Returns:
      true to include this commit in the results; false to have this commit be omitted entirely from the results.
      Throws:
      StopWalkException - the filter knows for certain that no additional commits can ever match, and the current commit doesn't match either. The walk is halted and no more results are provided.
      MissingObjectException - an object the filter needs to consult to determine its answer does not exist in the Git repository the walker is operating on. Filtering this commit is impossible without the object.
      IncorrectObjectTypeException - an object the filter needed to consult was not of the expected object type. This usually indicates a corrupt repository, as an object link is referencing the wrong type.
      IOException - a loose object or pack file could not be read to obtain data necessary for the filter to make its decision.
    • requiresCommitBody

      public boolean requiresCommitBody()
      Description copied from class: RevFilter
      Whether the filter needs the commit body to be parsed.
      Overrides:
      requiresCommitBody in class RevFilter
      Returns:
      true if the filter needs the commit body to be parsed.
    • getChangedPathFilterTruePositive

      public long getChangedPathFilterTruePositive()
      Return how many times a changed path filter correctly predicted that a path was changed in a commit, for statistics gathering purposes.
      Returns:
      count of true positives
      Since:
      6.7
    • getChangedPathFilterFalsePositive

      public long getChangedPathFilterFalsePositive()
      Return how many times a changed path filter wrongly predicted that a path was changed in a commit, for statistics gathering purposes.
      Returns:
      count of false positives
      Since:
      6.7
    • getChangedPathFilterNegative

      public long getChangedPathFilterNegative()
      Return how many times a changed path filter predicted that a path was not changed in a commit (allowing that commit to be skipped), for statistics gathering purposes.
      Returns:
      count of negatives
      Since:
      6.7