DebugLog.log("REVERT: contents reverted");
    public boolean revert(String childName) throws SVNException {        DebugLog.log("REVERT: " + childName + " in " + getPath());        ISVNEntry child = getChild(childName);        if (child == null) {            return false;        }        myUnmanagedChildren = null;        myAllUnmanagedChildren = null;        if (child.isMissing() && child.isDirectory()) {            Map childProperties = (Map) myChildEntries.get(child.getName());            if (SVNProperty.SCHEDULE_ADD.equals(childProperties.get(SVNProperty.SCHEDULE))) {                boolean keepInfo = childProperties.get(SVNProperty.DELETED) != null;                deleteChild(child.getName(), keepInfo);                return true;            }            return false;        }                if (child.isScheduledForAddition()) {            myChildEntries.remove(childName);            myChildren.remove(childName);            if (child.isDirectory()) {                File adminArea = getAdminArea().getAdminArea(child);                FSUtil.deleteAll(adminArea);            }        } else {            if (!child.isDirectory() && !getAdminArea().getBaseFile(child).exists()) {                return false;            }            unschedule(childName);            ((FSEntry) child).revertProperties();            if (!child.isDirectory()) {                ((FSFileEntry) child).restoreContents();            } else if (child.getPropertyValue(SVNProperty.PROP_TIME) != null) {                if (myChildEntries != null) {                    Map entryInParent = (Map) myChildEntries.get(childName);                    if (entryInParent != null) {                        entryInParent.put(SVNProperty.PROP_TIME, child.getPropertyValue(SVNProperty.PROP_TIME));                    }                }            }        }        return true;    }