class SummaryDiffPrinter implements DiffPrinter {
@Override
public void print(GeoGIG geogig, ConsoleReader console, DiffEntry entry) throws IOException {
Ansi ansi = AnsiDecorator.newAnsi(console.getTerminal().isAnsiSupported());
final NodeRef newObject = entry.getNewObject();
final NodeRef oldObject = entry.getOldObject();
String oldMode = oldObject == null ? shortOid(ObjectId.NULL) : shortOid(oldObject
.getMetadataId());
String newMode = newObject == null ? shortOid(ObjectId.NULL) : shortOid(newObject
.getMetadataId());
String oldId = oldObject == null ? shortOid(ObjectId.NULL) : shortOid(oldObject.objectId());
String newId = newObject == null ? shortOid(ObjectId.NULL) : shortOid(newObject.objectId());
ansi.a(oldMode).a(" ");
ansi.a(newMode).a(" ");
ansi.a(oldId).a(" ");
ansi.a(newId).a(" ");
ansi.fg(entry.changeType() == ADDED ? GREEN : (entry.changeType() == MODIFIED ? YELLOW
: RED));
char type = entry.changeType().toString().charAt(0);
ansi.a(" ").a(type).reset();
ansi.a(" ").a(formatPath(entry));
console.println(ansi.toString());
}