return -1;
return SVNCommitInfo.NULL;
    public long doCopy(File srcPath, SVNRevision srcPegRevision, SVNRevision srcRevision, File dstPath, SVNRevision dstPegRevision, SVNRevision dstRevision,                       boolean force, boolean move, String commitMessage) throws SVNException {        if (srcRevision == null || !srcRevision.isValid()) {            srcRevision = SVNRevision.WORKING;        }        if (dstRevision == null || !dstRevision.isValid()) {            dstRevision = SVNRevision.WORKING;        }        if (dstRevision != SVNRevision.HEAD && dstRevision != SVNRevision.WORKING) {            SVNErrorManager.error("svn: Only HEAD or WORKING revision could be specified as copy or move target revision");        }        if (srcRevision == SVNRevision.WORKING && dstRevision == SVNRevision.WORKING) {            // wc->wc            wc2wcCopy(srcPath, dstPath, force, move);        } else if (srcRevision == SVNRevision.WORKING) {            // wc->url            if (move) {                SVNErrorManager.error("svn: Only WC to WC or URL to URL move is supported");            }            SVNWCAccess dstAccess = createWCAccess(srcPath);            String dstURL = dstAccess.getTargetEntryProperty(SVNProperty.URL);            if (dstPegRevision == null || !dstPegRevision.isValid()) {                dstPegRevision = SVNRevision.parse(dstAccess.getTargetEntryProperty(SVNProperty.REVISION));            }            dstURL = getURL(dstURL, dstPegRevision, SVNRevision.HEAD);            return wc2urlCopy(srcPath, dstURL, commitMessage);        } else if (dstRevision == SVNRevision.WORKING) {            // url->wc            if (move) {                SVNErrorManager.error("svn: Only WC to WC or URL to URL move is supported");            }            SVNWCAccess srcAccess = createWCAccess(srcPath);            String srcURL = srcAccess.getTargetEntryProperty(SVNProperty.URL);            if (srcPegRevision == null || !srcPegRevision.isValid()) {                srcPegRevision = SVNRevision.parse(srcAccess.getTargetEntryProperty(SVNProperty.REVISION));            }            long srcRevNumber = getRevisionNumber(srcPath, srcRevision);            srcURL = getURL(srcURL, srcPegRevision, SVNRevision.create(srcRevNumber));            url2wcCopy(srcURL, srcRevNumber, dstPath);        } else {            // url->url            SVNWCAccess srcAccess = createWCAccess(srcPath);            SVNWCAccess dstAccess = createWCAccess(srcPath);            String srcURL = srcAccess.getTargetEntryProperty(SVNProperty.URL);            String dstURL = dstAccess.getTargetEntryProperty(SVNProperty.URL);            if (srcPegRevision == null || !srcPegRevision.isValid()) {                srcPegRevision = SVNRevision.parse(srcAccess.getTargetEntryProperty(SVNProperty.REVISION));            }            if (dstPegRevision == null || !dstPegRevision.isValid()) {                dstPegRevision = SVNRevision.parse(dstAccess.getTargetEntryProperty(SVNProperty.REVISION));            }            long srcRevNumber = getRevisionNumber(srcPath, srcRevision);            srcURL = getURL(srcURL, srcPegRevision, SVNRevision.create(srcRevNumber));            dstURL = getURL(dstURL, dstPegRevision, SVNRevision.HEAD);            return url2urlCopy(srcURL, srcRevNumber, dstURL, commitMessage, move);        }        return -1;    }