String mimeType;
    private void addSingleFile(SVNDirectory dir, String name) throws SVNException {        File file = dir.getFile(name);        dir.add(name, false, false);        String mimeType;        SVNProperties properties = dir.getProperties(name, false);        if (SVNFileType.getType(file) == SVNFileType.SYMLINK) {            properties.setPropertyValue(SVNProperty.SPECIAL, "*");        } else {            Map props = new HashMap();            boolean executable;            props = getOptions().applyAutoProperties(name, props);            mimeType = (String) props.get(SVNProperty.MIME_TYPE);            if (mimeType == null) {                mimeType = SVNFileUtil.detectMimeType(file);                if (mimeType != null) {                    props.put(SVNProperty.MIME_TYPE, mimeType);                    props.remove(SVNProperty.EOL_STYLE);                }            }            if (!props.containsKey(SVNProperty.EXECUTABLE)) {                executable = SVNFileUtil.isExecutable(file);                if (executable) {                    props.put(SVNProperty.EXECUTABLE, "*");                }            }            for (Iterator names = props.keySet().iterator(); names.hasNext();) {                String propName = (String) names.next();                String propValue = (String) props.get(propName);                try {                    doSetLocalProperty(dir, name, propName, propValue, false, false, false, null);                } catch (SVNException e) {                    // skip cancellation here.                }            }        }    }