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 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html