parseCanonical(walk, buffer);
}
}
void parseCanonical(final RevWalk walk, final byte[] raw) {
final MutableObjectId idBuffer = walk.idBuffer;
idBuffer.fromString(raw, 5);
tree = walk.lookupTree(idBuffer);
int ptr = 46;
if (parents == null) {
RevCommit[] pList = new RevCommit[1];
int nParents = 0;
for (;;) {
if (raw[ptr] != 'p')
break;
idBuffer.fromString(raw, ptr + 7);
final RevCommit p = walk.lookupCommit(idBuffer);
if (nParents == 0)
pList[nParents++] = p;
else if (nParents == 1) {
pList = new RevCommit[] { pList[0], p };