From 403a9ba3d2131d8dd0a0cf44e874e3cbe52217f9 Mon Sep 17 00:00:00 2001 From: "Shawn O. Pearce" Date: Thu, 12 Mar 2009 19:07:38 -0700 Subject: [PATCH] Show critical flags in debug toString() descriptions of rev queues These can help identify the state of each object, especially the important UNINTERESTING flag being present (or not). Signed-off-by: Shawn O. Pearce Signed-off-by: Robin Rosenberg --- .../org/spearce/jgit/revwalk/AbstractRevQueue.java | 5 +++++ .../src/org/spearce/jgit/revwalk/DateRevQueue.java | 10 +++------- .../src/org/spearce/jgit/revwalk/FIFORevQueue.java | 10 +++------- .../src/org/spearce/jgit/revwalk/LIFORevQueue.java | 10 +++------- .../src/org/spearce/jgit/revwalk/RevCommit.java | 12 +++++++++++ .../src/org/spearce/jgit/revwalk/RevObject.java | 23 ++++++++++++++++++++++ 6 files changed, 49 insertions(+), 21 deletions(-) diff --git a/org.spearce.jgit/src/org/spearce/jgit/revwalk/AbstractRevQueue.java b/org.spearce.jgit/src/org/spearce/jgit/revwalk/AbstractRevQueue.java index 4cf7dae3..5bb969db 100644 --- a/org.spearce.jgit/src/org/spearce/jgit/revwalk/AbstractRevQueue.java +++ b/org.spearce.jgit/src/org/spearce/jgit/revwalk/AbstractRevQueue.java @@ -115,6 +115,11 @@ abstract class AbstractRevQueue extends Generator { return outputType; } + protected static void describe(final StringBuilder s, final RevCommit c) { + s.append(c.toString()); + s.append('\n'); + } + private static class AlwaysEmptyQueue extends AbstractRevQueue { @Override public void add(RevCommit c) { diff --git a/org.spearce.jgit/src/org/spearce/jgit/revwalk/DateRevQueue.java b/org.spearce.jgit/src/org/spearce/jgit/revwalk/DateRevQueue.java index f7974774..210f9850 100644 --- a/org.spearce.jgit/src/org/spearce/jgit/revwalk/DateRevQueue.java +++ b/org.spearce.jgit/src/org/spearce/jgit/revwalk/DateRevQueue.java @@ -126,13 +126,9 @@ public class DateRevQueue extends AbstractRevQueue { } public String toString() { - final StringBuffer s = new StringBuffer(); - for (Entry q = head; q != null; q = q.next) { - s.append(q.commit.name()); - s.append(' '); - s.append(q.commit.commitTime); - s.append('\n'); - } + final StringBuilder s = new StringBuilder(); + for (Entry q = head; q != null; q = q.next) + describe(s, q.commit); return s.toString(); } diff --git a/org.spearce.jgit/src/org/spearce/jgit/revwalk/FIFORevQueue.java b/org.spearce.jgit/src/org/spearce/jgit/revwalk/FIFORevQueue.java index 2c4c003b..f0869284 100644 --- a/org.spearce.jgit/src/org/spearce/jgit/revwalk/FIFORevQueue.java +++ b/org.spearce.jgit/src/org/spearce/jgit/revwalk/FIFORevQueue.java @@ -149,14 +149,10 @@ public class FIFORevQueue extends BlockRevQueue { } public String toString() { - final StringBuffer s = new StringBuffer(); + final StringBuilder s = new StringBuilder(); for (Block q = head; q != null; q = q.next) { - for (int i = q.headIndex; i < q.tailIndex; i++) { - s.append(q.commits[i].name()); - s.append(' '); - s.append(q.commits[i].commitTime); - s.append('\n'); - } + for (int i = q.headIndex; i < q.tailIndex; i++) + describe(s, q.commits[i]); } return s.toString(); } diff --git a/org.spearce.jgit/src/org/spearce/jgit/revwalk/LIFORevQueue.java b/org.spearce.jgit/src/org/spearce/jgit/revwalk/LIFORevQueue.java index 5e885c00..045f7f1c 100644 --- a/org.spearce.jgit/src/org/spearce/jgit/revwalk/LIFORevQueue.java +++ b/org.spearce.jgit/src/org/spearce/jgit/revwalk/LIFORevQueue.java @@ -104,14 +104,10 @@ public class LIFORevQueue extends BlockRevQueue { } public String toString() { - final StringBuffer s = new StringBuffer(); + final StringBuilder s = new StringBuilder(); for (Block q = head; q != null; q = q.next) { - for (int i = q.headIndex; i < q.tailIndex; i++) { - s.append(q.commits[i].name()); - s.append(' '); - s.append(q.commits[i].commitTime); - s.append('\n'); - } + for (int i = q.headIndex; i < q.tailIndex; i++) + describe(s, q.commits[i]); } return s.toString(); } diff --git a/org.spearce.jgit/src/org/spearce/jgit/revwalk/RevCommit.java b/org.spearce.jgit/src/org/spearce/jgit/revwalk/RevCommit.java index de11c395..1b25fce3 100644 --- a/org.spearce.jgit/src/org/spearce/jgit/revwalk/RevCommit.java +++ b/org.spearce.jgit/src/org/spearce/jgit/revwalk/RevCommit.java @@ -388,4 +388,16 @@ public class RevCommit extends RevObject { flags &= ~PARSED; buffer = null; } + + @Override + public String toString() { + final StringBuilder s = new StringBuilder(); + s.append(Constants.typeString(getType())); + s.append(name()); + s.append(' '); + s.append(commitTime); + s.append(' '); + appendCoreFlags(s); + return s.toString(); + } } diff --git a/org.spearce.jgit/src/org/spearce/jgit/revwalk/RevObject.java b/org.spearce.jgit/src/org/spearce/jgit/revwalk/RevObject.java index 451205c0..7dadb7bd 100644 --- a/org.spearce.jgit/src/org/spearce/jgit/revwalk/RevObject.java +++ b/org.spearce.jgit/src/org/spearce/jgit/revwalk/RevObject.java @@ -167,4 +167,27 @@ public abstract class RevObject extends ObjectId { public void dispose() { // Nothing needs to be done for most objects. } + + @Override + public String toString() { + final StringBuilder s = new StringBuilder(); + s.append(Constants.typeString(getType())); + s.append(name()); + s.append(' '); + appendCoreFlags(s); + return s.toString(); + } + + /** + * @param s + * buffer to append a debug description of core RevFlags onto. + */ + protected void appendCoreFlags(final StringBuilder s) { + s.append((flags & RevWalk.TOPO_DELAY) != 0 ? 'o' : '-'); + s.append((flags & RevWalk.TEMP_MARK) != 0 ? 't' : '-'); + s.append((flags & RevWalk.REWRITE) != 0 ? 'r' : '-'); + s.append((flags & RevWalk.UNINTERESTING) != 0 ? 'u' : '-'); + s.append((flags & RevWalk.SEEN) != 0 ? 's' : '-'); + s.append((flags & RevWalk.PARSED) != 0 ? 'p' : '-'); + } } -- 2.11.4.GIT