SVNFileUtil.rename(dst, dir.getFile(dstPath, false));
try { SVNFileUtil.rename(dst, dir.getFile(dstPath, false)); } finally { dst.delete(); }
    public static void translate(SVNDirectory dir, String name, String srcPath, String dstPath, boolean expand, boolean safe) throws SVNException {        File src = dir.getFile(srcPath, false);        File dst = safe ? SVNFileUtil.createUniqueFile(dir.getRoot(), dstPath, ".tmp") : dir.getFile(dstPath, false);                SVNProperties props = dir.getProperties(name, false);        String keywords = props.getPropertyValue(SVNProperty.KEYWORDS);        String eolStyle = props.getPropertyValue(SVNProperty.EOL_STYLE);        boolean special = props.getPropertyValue(SVNProperty.SPECIAL) != null;        Map keywordsMap = null;        byte[] eols;        if (keywords != null) {            if (expand) {                SVNEntry entry = dir.getEntries().getEntry(name, true);                String url = entry.getURL();                String author = entry.getAuthor();                String date = entry.getCommittedDate();                String rev = Long.toString(entry.getCommittedRevision());                keywordsMap = computeKeywords(keywords, url, author, date, rev);            } else {                                keywordsMap = computeKeywords(keywords, null, null, null, null);            }        }        if (!expand) {            eols = getBaseEOL(eolStyle);        } else {            eols = getWorkingEOL(eolStyle);        }        translate(src, dst, eols, keywordsMap, special, expand);        if (safe) {            SVNFileUtil.rename(dst, dir.getFile(dstPath, false));        }    }