class PendingGenerator extends Generator
This generator starts from a set of one or more commits and process them in
descending (newest to oldest) commit time order. Commits automatically cause
their parents to be enqueued for further processing, allowing the entire
commit graph to be walked. A RevFilter
may be used to select a subset
of the commits and return them to the caller.
Modifier and Type | Field and Description |
---|---|
(package private) boolean |
canDispose |
private RevFilter |
filter |
private static RevCommit |
INIT_LAST
A commit near the end of time, to initialize
last with. |
private RevCommit |
last
Last commit produced to the caller from
next() . |
private int |
output |
(package private) static int |
OVER_SCAN
Number of additional commits to scan after we think we are done.
|
private int |
overScan
Number of commits we have remaining in our over-scan allotment.
|
private static int |
PARSED |
private DateRevQueue |
pending |
private static int |
SEEN |
private static int |
UNINTERESTING |
private RevWalk |
walker |
firstParent, HAS_REWRITE, HAS_UNINTERESTING, NEEDS_REWRITE, SORT_COMMIT_TIME_DESC, SORT_TOPO
Constructor and Description |
---|
PendingGenerator(RevWalk w,
DateRevQueue p,
RevFilter f,
int out) |
Modifier and Type | Method and Description |
---|---|
(package private) RevCommit |
next()
Return the next commit to the application, or the next generator.
|
(package private) int |
outputType()
Obtain flags describing the output behavior of this generator.
|
shareFreeList
private static final int PARSED
private static final int SEEN
private static final int UNINTERESTING
static final int OVER_SCAN
This small buffer of commits is scanned to ensure we didn't miss anything as a result of clock skew when the commits were made. We need to set our constant to 1 additional commit due to the use of a pre-increment operator when accessing the value.
private static final RevCommit INIT_LAST
last
with.private final RevWalk walker
private final DateRevQueue pending
private final RevFilter filter
private final int output
private int overScan
Only relevant if there are UNINTERESTING
commits in the
pending
queue.
boolean canDispose
PendingGenerator(RevWalk w, DateRevQueue p, RevFilter f, int out)
int outputType()
Generator
outputType
in class Generator
RevCommit next() throws MissingObjectException, IncorrectObjectTypeException, java.io.IOException
Generator
next
in class Generator
MissingObjectException
IncorrectObjectTypeException
java.io.IOException