All cases are using the same logic to decide that we should skip this current object and not return it to the caller. A common implementation makes the code easier to follow, especially as it reduces the ugly line wrap involved in the loop body. Signed-off-by: Shawn O. Pearce <spearce@xxxxxxxxxxx> --- .../src/org/spearce/jgit/revwalk/ObjectWalk.java | 12 +++++++----- 1 files changed, 7 insertions(+), 5 deletions(-) diff --git a/org.spearce.jgit/src/org/spearce/jgit/revwalk/ObjectWalk.java b/org.spearce.jgit/src/org/spearce/jgit/revwalk/ObjectWalk.java index a481639..b92629e 100644 --- a/org.spearce.jgit/src/org/spearce/jgit/revwalk/ObjectWalk.java +++ b/org.spearce.jgit/src/org/spearce/jgit/revwalk/ObjectWalk.java @@ -255,8 +255,7 @@ public RevObject nextObject() throws MissingObjectException, if ((o.flags & SEEN) != 0) break; o.flags |= SEEN; - if ((o.flags & UNINTERESTING) != 0 - && !hasRevSort(RevSort.BOUNDARY)) + if (skipObject(o)) break; fromTreeWalk = true; return o; @@ -267,8 +266,7 @@ public RevObject nextObject() throws MissingObjectException, if ((o.flags & SEEN) != 0) break; o.flags |= SEEN; - if ((o.flags & UNINTERESTING) != 0 - && !hasRevSort(RevSort.BOUNDARY)) + if (skipObject(o)) break; nextSubtree = o; fromTreeWalk = true; @@ -294,7 +292,7 @@ public RevObject nextObject() throws MissingObjectException, if ((o.flags & SEEN) != 0) continue; o.flags |= SEEN; - if ((o.flags & UNINTERESTING) != 0 && !hasRevSort(RevSort.BOUNDARY)) + if (skipObject(o)) continue; if (o instanceof RevTree) { currentTree = (RevTree) o; @@ -304,6 +302,10 @@ public RevObject nextObject() throws MissingObjectException, } } + private final boolean skipObject(final RevObject o) { + return (o.flags & UNINTERESTING) != 0 && !hasRevSort(RevSort.BOUNDARY); + } + /** * Verify all interesting objects are available, and reachable. * <p> -- 1.6.2.288.gc3f22 -- 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