DAVBaselineInfo info = DAVUtil.getBaselineInfo(myConnection, getLocation().getPath(), revision, false, false, null);
String bcPath = SVNEncodingUtil.uriEncode(getLocation().getPath()); DAVBaselineInfo info = DAVUtil.getBaselineInfo(myConnection, bcPath, revision, false, false, null);
    public void update(long revision, String target, boolean recursive, ISVNReporterBaton reporter, ISVNEditor editor) throws SVNException {        try {            openConnection();            StringBuffer request = DAVEditorHandler.generateEditorRequest(myConnection, null, getLocation().toString(), revision, target, null, recursive, false, false, true, reporter);            DAVEditorHandler handler = new DAVEditorHandler(editor, true);            DAVBaselineInfo info = DAVUtil.getBaselineInfo(myConnection, getLocation().getPath(), revision, false, false, null);            String path = SVNPathUtil.append(info.baselineBase, info.baselinePath);            DAVResponse response = DAVUtil.getResourceProperties(myConnection, path, null, DAVElement.STARTING_PROPERTIES, true);            if (response != null) {            	path = (String) response.getPropertyValue(DAVElement.VERSION_CONTROLLED_CONFIGURATION);            	myConnection.doReport(path, request, handler);            } else {                // try editor.closeEdit to remove target that is deleted in target revision?                editor.closeEdit();                /*                String revisionStr = revision < 0 ? "HEAD" : Long.toString(revision);                throw new SVNException("svn: Location '" + path + "' doesn't exists in repository at revision " + revisionStr);                */            }        } finally {            closeConnection();        }    }