continue;
}
Path p1fname = pathPool.path(r[3]);
Nodeid nidP1 = m1.nodeid(p1fname);
Nodeid nidCA = nodeidPool.unify(Nodeid.fromAscii(r[5]));
HgFileRevision p1 = new HgFileRevision(hgRepo, nidP1, m1.flags(p1fname), p1fname);
HgFileRevision ca;
if (nidCA == nidP1 && r[3].equals(r[4])) {
ca = p1;
} else {
ca = new HgFileRevision(hgRepo, nidCA, null, pathPool.path(r[4]));
}
HgFileRevision p2;
if (!wcp2.isNull() || !r[6].equals(r[4])) {
final Path p2fname = pathPool.path(r[6]);
Nodeid nidP2 = m2.nodeid(p2fname);
if (nidP2 == null) {
assert false : "There's not enough information (or I don't know where to look) in merge/state to find out what's the second parent";
nidP2 = NULL;
}
p2 = new HgFileRevision(hgRepo, nidP2, m2.flags(p2fname), p2fname);
} else {
// no second parent known. no idea what to do here, assume linear merge, use common ancestor as parent
p2 = ca;
}
final Kind k;