false, new SVNLocationEntry(SVNRepository.INVALID_REVISION, null), getOwner());
}
public FSClosestCopy getClosestCopy(String path) throws SVNException {
FSParentPath parentPath = openPath(path, true, true);
SVNLocationEntry copyDstEntry = FSNodeHistory.findYoungestCopyroot(getOwner().getRepositoryRoot(),
parentPath);
if (copyDstEntry == null || copyDstEntry.getRevision() == 0) {
return null;
}
FSRevisionRoot copyDstRoot = getOwner().createRevisionRoot(copyDstEntry.getRevision());
if (copyDstRoot.checkNodeKind(path) == SVNNodeKind.NONE) {
return null;
}
FSParentPath copyDstParentPath = copyDstRoot.openPath(path, true, true);
FSRevisionNode copyDstNode = copyDstParentPath.getRevNode();
if (!copyDstNode.getId().isRelated(parentPath.getRevNode().getId())) {
return null;
}
long createdRev = copyDstNode.getCreatedRevision();
if (createdRev == copyDstEntry.getRevision()) {
if (copyDstNode.getPredecessorId() == null) {
return null;
}
}
return new FSClosestCopy(copyDstRoot, copyDstEntry.getPath());
}