java.lang.Object
org.eclipse.jgit.revwalk.filter.RevFilter
org.eclipse.jgit.revwalk.TreeRevFilter
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
-
Field Summary
Fields inherited from class org.eclipse.jgit.revwalk.filter.RevFilter
ALL, MERGE_BASE, NO_MERGES, NONE, ONLY_MERGES
-
Constructor Summary
ConstructorsConstructorDescriptionTreeRevFilter
(RevWalk walker, TreeFilter t) Create aRevFilter
from aTreeFilter
. -
Method Summary
Modifier and TypeMethodDescriptionclone()
long
Return how many times a changed path filter wrongly predicted that a path was changed in a commit, for statistics gathering purposes.long
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.long
Return how many times a changed path filter correctly predicted that a path was changed in a commit, for statistics gathering purposes.boolean
Determine if the supplied commit should be included in results.boolean
Whether the filter needs the commit body to be parsed.
-
Constructor Details
-
TreeRevFilter
Create aRevFilter
from aTreeFilter
.- Parameters:
walker
- walker used for reading trees.t
- filter to compare against any changed paths in each commit. If aFollowFilter
, will be replaced with a new filter following new paths after a rename.- Since:
- 3.5
-
-
Method Details
-
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.
-
include
public boolean include(RevWalk walker, RevCommit c) throws StopWalkException, MissingObjectException, IncorrectObjectTypeException, IOException Description copied from class:RevFilter
Determine if the supplied commit should be included in results.- Specified by:
include
in classRevFilter
- 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 fromRevFilter.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 classRevFilter
- 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
-