public void doGetTree(File repositoryRoot, String path, SVNRevision revision, boolean includeIDs,
boolean recursive, ISVNTreeHandler handler) throws SVNException {
FSFS fsfs = open(repositoryRoot, revision);
try {
long revNum = SVNAdminHelper.getRevisionNumber(revision, fsfs.getYoungestRevision(), fsfs);
FSRoot root = fsfs.createRevisionRoot(revNum);
path = path == null ? "/" : path;
FSRevisionNode node = root.getRevisionNode(path);
FSID id = includeIDs ? node.getId() : null;
SVNNodeKind kind = root.checkNodeKind(path);
getTree(fsfs, root, path, kind, id, includeIDs, 0, recursive, handler);
} finally {
SVNAdminHelper.closeRepository(fsfs);
}
}