Collection logEntries = sourceRepos.log(null, null, myTargetRevision, myTargetRevision, true, false);
Collection logEntries = sourceRepos.log(new String[] {""}, null, myTargetRevision, myTargetRevision, true, false);
    public void targetRevision(long revision) throws SVNException {        if (!myRepos.getLocation().equals(myRepos.getRepositoryRoot(false))) {            SVNErrorMessage err = SVNErrorMessage.create(SVNErrorCode.BAD_URL, "Repository location ''{0}'' should be the repository root ''{1}''", new Object[]{myRepos.getLocation(), myRepos.getRepositoryRoot(false)});            SVNErrorManager.error(err);        }                myTargetRevision = revision;        myCopiedPaths = new HashMap();        //1. first investigate paths for copies if there're any         SVNRepository sourceRepos = SVNRepositoryFactory.create(myRepos.getLocation());        sourceRepos.setAuthenticationManager(myRepos.getAuthenticationManager());        Collection logEntries = sourceRepos.log(null, null, myTargetRevision, myTargetRevision, true, false);        SVNLogEntry logEntry = (SVNLogEntry)logEntries.toArray()[0];        myChangedPaths = logEntry.getChangedPaths();                if(myChangedPaths == null || myChangedPaths.isEmpty()){            SVNErrorMessage err = SVNErrorMessage.create(SVNErrorCode.AUTHZ_UNREADABLE, "Have no full read permissions on ''{0}''", myRepos.getLocation());            SVNErrorManager.error(err);        }                for(Iterator paths = myChangedPaths.keySet().iterator(); paths.hasNext();){            String path = (String)paths.next();            SVNLogEntryPath pathChange = (SVNLogEntryPath)myChangedPaths.get(path);            //make sure it's a copy            if(pathChange.getType() == SVNLogEntryPath.TYPE_ADDED && pathChange.getCopyPath() != null && pathChange.getCopyRevision() >= 0){                myCopiedPaths.put(path, pathChange);            }        }    }