throw e;
} catch (Exception e) {
throw new MicroKernelException(e);
}
JsopBuilder commitBuff = new JsopBuilder().array();
// iterate over commits in chronological order,
// starting with oldest commit
for (int i = commits.size() - 1; i >= 0; i--) {
StoredCommit commit = commits.get(i);
if (commit.getParentId() == null) {
continue;
}
String diff = commit.getChanges();
if (filtered) {
try {
diff = new DiffBuilder(
rep.getNodeState(commit.getParentId(), "/"),
rep.getNodeState(commit.getId(), "/"),
"/", -1, rep.getRevisionStore(), path).build();
if (diff.isEmpty()) {
continue;
}
} catch (Exception e) {
throw new MicroKernelException(e);
}
}
commitBuff.object().
key("id").value(commit.getId().toString()).
key("ts").value(commit.getCommitTS()).
key("msg").value(commit.getMsg());
if (commit.getBranchRootId() != null) {
commitBuff.key("branchRootId").value(commit.getBranchRootId().toString());
}
commitBuff.key("changes").value(diff).endObject();
}
return commitBuff.endArray().toString();
}