[JGIT PATCH 0/5] RevWalk fixes for UNINTERESTING
- From
Shawn O. Pearce <spearce@spearce.org>
- Date
- Mar 13, 2009, 02:07 UTC
- Message-ID
- <1236910062-18476-1-git-send-email-spearce@spearce.org>
Today I uncovered some ugly cases with "jgit rev-list B ^A", where some commits reachable from A were still being output, even though we asked that they be excluded.
This series attempts to fix it by forcing date ordering, and delaying output a little to try and work over any clock skew discovered near the end of the traversal, just before we give up.
Shawn O. Pearce (5):
Show critical flags in debug toString() descriptions of rev queues
Make RevObject.getType implementations final
Remove the horribly stupid RevSort.START_ORDER
Fix RevWalk with Linus Torvald's occasional bad commit date hack
Avoid incorrect output of UNINTERESTING commits when clock skew
occurs.../org/spearce/jgit/revwalk/AbstractRevQueue.java | 5 + .../src/org/spearce/jgit/revwalk/DateRevQueue.java | 10 +-- .../org/spearce/jgit/revwalk/DelayRevQueue.java | 92 ++++++++++++++++++++ .../src/org/spearce/jgit/revwalk/FIFORevQueue.java | 10 +-- .../jgit/revwalk/FixUninterestingGenerator.java | 77 ++++++++++++++++ .../src/org/spearce/jgit/revwalk/LIFORevQueue.java | 10 +-- .../org/spearce/jgit/revwalk/PendingGenerator.java | 59 +++++++++++-- .../src/org/spearce/jgit/revwalk/RevBlob.java | 2 +- .../src/org/spearce/jgit/revwalk/RevCommit.java | 15 +++- .../src/org/spearce/jgit/revwalk/RevObject.java | 24 +++++ .../src/org/spearce/jgit/revwalk/RevSort.java | 11 --- .../src/org/spearce/jgit/revwalk/RevTag.java | 2 +- .../src/org/spearce/jgit/revwalk/RevTree.java | 2 +- .../src/org/spearce/jgit/revwalk/RevWalk.java | 6 +- .../org/spearce/jgit/revwalk/StartGenerator.java | 27 ++++-- 15 files changed, 296 insertions(+), 56 deletions(-) create mode 100644 org.spearce.jgit/src/org/spearce/jgit/revwalk/DelayRevQueue.java create mode 100644 org.spearce.jgit/src/org/spearce/jgit/revwalk/FixUninterestingGenerator.java