SVNRepository repos = createRepository(url, file, SVNRevision.UNDEFINED, revision);
SVNRepository repos = createRepository(url, wcAccess.getAnchor().getRoot(), SVNRevision.UNDEFINED, revision);
    public long doUpdate(File file, SVNRevision revision, boolean recursive) throws SVNException {        SVNWCAccess wcAccess = createWCAccess(file);        final SVNReporter reporter = new SVNReporter(wcAccess, true, recursive);        if (!revision.isValid()) {            revision = SVNRevision.HEAD;        }        try {            wcAccess.open(true, recursive);            SVNEntry entry = wcAccess.getAnchor().getEntries().getEntry("", false);            SVNURL url = entry.getSVNURL();            SVNUpdateEditor editor = new SVNUpdateEditor(wcAccess, null, recursive, isLeaveConflictsUnresolved());            SVNRepository repos = createRepository(url, file, SVNRevision.UNDEFINED, revision);                        String target = "".equals(wcAccess.getTargetName()) ? null : wcAccess.getTargetName();            SVNDebugLog.logInfo("repos url: " + url);            SVNDebugLog.logInfo("update target: " + target);            long revNumber = getRevisionNumber(revision, repos, file);            repos.update(revNumber, target, recursive, reporter, editor);            if (editor.getTargetRevision() >= 0) {                if (recursive && !isIgnoreExternals()) {                    handleExternals(wcAccess);                }                dispatchEvent(SVNEventFactory.createUpdateCompletedEvent(wcAccess, editor.getTargetRevision()));            }            return editor.getTargetRevision();        } finally {            wcAccess.close(true);            if (!isDoNotSleepForTimeStamp()) {                SVNFileUtil.sleepForTimestamp();            }        }    }