if (SVNReporterBaton.isSwitched(parentURL, targetEntry)) { DebugLog.log("REPORT.TARGET.LINK: " + targetEntry.getPropertyValue(SVNProperty.URL) + " : " + revision); String url = targetEntry.getPropertyValue(SVNProperty.URL); url = PathUtil.decode(url); reporter.linkPath(SVNRepositoryLocation.parseURL(url), "", locktoken, revision, false); }
    public void report(ISVNReporter reporter) throws SVNException {        if (myTarget != null) {            ISVNEntry targetEntry = myRoot.asDirectory().getChild(myTarget);            long revision = 0;            String locktoken = null;            if (targetEntry != null) {                revision = SVNProperty.longValue(targetEntry.getPropertyValue(SVNProperty.REVISION));                locktoken = targetEntry.getPropertyValue(SVNProperty.LOCK_TOKEN);            }            if (revision >= 0) {                if (myWorkspace != null && targetEntry != null && targetEntry.isMissing() && !targetEntry.isDirectory()) {                    // restore before reporting                    targetEntry.asFile().restoreContents();                    targetEntry.asFile().markResolved(true);                    ((SVNWorkspace) myWorkspace).fireEntryModified(targetEntry, SVNStatus.RESTORED, false);                }                DebugLog.log("REPORT.TARGET: " + myTarget + " : " + revision);                reporter.setPath("", locktoken, revision, revision == 0);            } else {                revision = SVNProperty.longValue(myRoot.getPropertyValue(SVNProperty.REVISION));                 DebugLog.log("REPORT.MISSING.TARGET: " + myTarget + " : " + revision);                reporter.setPath("", locktoken, revision, false);                reporter.deletePath("");                if (targetEntry != null) {                    myMissingEntries.add(targetEntry);                }            }        } else {            doReport(myRoot, reporter, null, -1);        }        reporter.finishReport();    }