ISVNEventListener oldDisptcher = wcAccess.getEventDispatcher(); SVNEntry entry = null; try { entry = dir.add(name, false); } finally { wcAccess.setEventDispatcher(oldDisptcher); } String mimeType = null;
dir.add(name, false);  String mimeType;
	private void addSingleFile(SVNWCAccess wcAccess, SVNDirectory dir, String name) throws SVNException {		File file = dir.getFile(name, false);		ISVNEventListener oldDisptcher = wcAccess.getEventDispatcher();		SVNEntry entry = null;		try {			entry = dir.add(name, false);		} finally {			wcAccess.setEventDispatcher(oldDisptcher);		}		String mimeType = null;		SVNProperties properties = dir.getProperties(name, false);		if (SVNFileUtil.isSymlink(file)) {			properties.setPropertyValue(SVNProperty.SPECIAL, "*");		} else {			Map props = new HashMap();			boolean executable = false;			props = getOptions().getAutoProperties(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);				}			}			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);				properties.setPropertyValue(propName, propValue);			}		}		SVNEvent event = SVNEventFactory.createAddedEvent(wcAccess, dir, entry);		wcAccess.svnEvent(event, ISVNEventListener.UNKNOWN);	}