Class AddUnseenToBitmapFilter
- java.lang.Object
-
- org.eclipse.jgit.revwalk.filter.RevFilter
-
- org.eclipse.jgit.internal.revwalk.AddUnseenToBitmapFilter
-
public class AddUnseenToBitmapFilter extends RevFilter
A RevFilter that adds the visited commits tobitmap
as a side effect.When the walk hits a commit that is part of
bitmap
's BitmapIndex, that entire bitmap is ORed intobitmap
and the commit and its parents are marked as SEEN so that the walk does not have to visit its ancestors. This ensures the walk is very short if there is good bitmap coverage.Commits named in
seen
are considered already seen. If one is encountered, that commit and its parents will be marked with the SEEN flag to prevent the walk from visiting its ancestors.
-
-
Field Summary
-
Fields inherited from class org.eclipse.jgit.revwalk.filter.RevFilter
ALL, MERGE_BASE, NO_MERGES, NONE, ONLY_MERGES
-
-
Constructor Summary
Constructors Constructor Description AddUnseenToBitmapFilter(BitmapIndex.BitmapBuilder seen, BitmapIndex.BitmapBuilder bitmap)
Create a filter that adds visited commits to the given bitmap, but does not walk through the objects inseen
.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description RevFilter
clone()
boolean
include(RevWalk walker, RevCommit cmit)
Determine if the supplied commit should be included in results.boolean
requiresCommitBody()
Whether the filter needs the commit body to be parsed.
-
-
-
Constructor Detail
-
AddUnseenToBitmapFilter
public AddUnseenToBitmapFilter(BitmapIndex.BitmapBuilder seen, BitmapIndex.BitmapBuilder bitmap)
Create a filter that adds visited commits to the given bitmap, but does not walk through the objects inseen
.- Parameters:
seen
- objects that are already seenbitmap
- bitmap to write visited commits to
-
-
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.
-
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.
-
-