Add debugging toString to TreeFormatter
Displaying the current tree in the ls-tree style output makes it easier to see what entries are currently stored. Change-Id: If17c414db0d2e8d84e65de8bbcba7fd1b79aa311 Signed-off-by: Shawn O. Pearce <spearce@spearce.org> Reviewed-by: Chris Aniszczyk <caniszczyk@gmail.com>
This commit is contained in:
parent
8d4c95a645
commit
8fd2335b70
|
@ -52,9 +52,11 @@
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
|
||||||
|
import org.eclipse.jgit.errors.CorruptObjectException;
|
||||||
import org.eclipse.jgit.revwalk.RevBlob;
|
import org.eclipse.jgit.revwalk.RevBlob;
|
||||||
import org.eclipse.jgit.revwalk.RevCommit;
|
import org.eclipse.jgit.revwalk.RevCommit;
|
||||||
import org.eclipse.jgit.revwalk.RevTree;
|
import org.eclipse.jgit.revwalk.RevTree;
|
||||||
|
import org.eclipse.jgit.treewalk.CanonicalTreeParser;
|
||||||
import org.eclipse.jgit.util.TemporaryBuffer;
|
import org.eclipse.jgit.util.TemporaryBuffer;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -311,4 +313,38 @@ public byte[] toByteArray() {
|
||||||
throw new RuntimeException(err);
|
throw new RuntimeException(err);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
byte[] raw = toByteArray();
|
||||||
|
|
||||||
|
CanonicalTreeParser p = new CanonicalTreeParser();
|
||||||
|
p.reset(raw);
|
||||||
|
|
||||||
|
StringBuilder r = new StringBuilder();
|
||||||
|
r.append("Tree={");
|
||||||
|
if (!p.eof()) {
|
||||||
|
r.append('\n');
|
||||||
|
try {
|
||||||
|
new ObjectChecker().checkTree(raw);
|
||||||
|
} catch (CorruptObjectException error) {
|
||||||
|
r.append("*** ERROR: ").append(error.getMessage()).append("\n");
|
||||||
|
r.append('\n');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
while (!p.eof()) {
|
||||||
|
final FileMode mode = p.getEntryFileMode();
|
||||||
|
r.append(mode);
|
||||||
|
r.append(' ');
|
||||||
|
r.append(Constants.typeString(mode.getObjectType()));
|
||||||
|
r.append(' ');
|
||||||
|
r.append(p.getEntryObjectId().name());
|
||||||
|
r.append(' ');
|
||||||
|
r.append(p.getEntryPathString());
|
||||||
|
r.append('\n');
|
||||||
|
p.next();
|
||||||
|
}
|
||||||
|
r.append("}");
|
||||||
|
return r.toString();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue