Package org.eclipse.jgit.revwalk
Class BitmappedReachabilityChecker.ReachedFilter
- java.lang.Object
-
- org.eclipse.jgit.revwalk.filter.RevFilter
-
- org.eclipse.jgit.revwalk.BitmappedReachabilityChecker.ReachedFilter
-
- Enclosing class:
- BitmappedReachabilityChecker
private static class BitmappedReachabilityChecker.ReachedFilter extends RevFilter
This filter emits commits that were not bitmap-reachable from anything visited before. Or in other words, commits that add something (themselves or their bitmap) to the "reached" bitmap. Current progress can be queried viaisReachable(RevCommit)
.
-
-
Field Summary
Fields Modifier and Type Field Description private BitmapIndex.BitmapBuilder
reached
private BitmapIndex
repoBitmaps
-
Fields inherited from class org.eclipse.jgit.revwalk.filter.RevFilter
ALL, MERGE_BASE, NO_MERGES, NONE, ONLY_MERGES
-
-
Constructor Summary
Constructors Constructor Description ReachedFilter(BitmapIndex repoBitmaps)
Create a filter that emits only previously unreachable commits.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description RevFilter
clone()
private static void
dontFollow(RevCommit cmit)
boolean
include(RevWalk walker, RevCommit cmit)
Determine if the supplied commit should be included in results.(package private) boolean
isReachable(RevCommit commit)
boolean
requiresCommitBody()
Whether the filter needs the commit body to be parsed.
-
-
-
Field Detail
-
repoBitmaps
private final BitmapIndex repoBitmaps
-
reached
private final BitmapIndex.BitmapBuilder reached
-
-
Constructor Detail
-
ReachedFilter
public ReachedFilter(BitmapIndex repoBitmaps)
Create a filter that emits only previously unreachable commits.- Parameters:
repoBitmaps
- bitmap index of the repo
-
-
Method Detail
-
include
public final boolean include(RevWalk walker, RevCommit cmit)
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.cmit
- 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.
-
dontFollow
private static final void dontFollow(RevCommit cmit)
-
clone
public final RevFilter clone()
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.
-
requiresCommitBody
public final boolean requiresCommitBody()
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.
-
isReachable
boolean isReachable(RevCommit commit)
-
-