JGitText.get().reflogsNotYetSupportedByRevisionParser,
revstr);
i = m - 1;
break;
case ':': {
RevTree tree;
if (ref == null) {
// We might not yet have parsed the left hand side.
ObjectId id;
try {
if (i == 0)
id = resolve(rw, Constants.HEAD);
else
id = resolve(rw, new String(rev, 0, i));
} catch (RevisionSyntaxException badSyntax) {
throw new RevisionSyntaxException(revstr);
}
if (id == null)
return null;
tree = rw.parseTree(id);
} else {
tree = rw.parseTree(ref);
}
if (i == rev.length - i)
return tree.copy();
TreeWalk tw = TreeWalk.forPath(rw.getObjectReader(),
new String(rev, i + 1, rev.length - i - 1), tree);
return tw != null ? tw.getObjectId(0) : null;
}