attributes.put(SVNProperty.shortPropertyName(SVNProperty.COPIED), copied ? Boolean.TRUE.toString() : null);
}
dir.modifyEntry(entry.getName(), attributes, true, false);
attributes.clear();
if (SVNProperty.SCHEDULE_DELETE.equals(schedule)) {
SVNEvent event = SVNEventFactory.createDeletedEvent(dir, entry.getName());
dir.getWCAccess().handleEvent(event);
}
}
SVNEntry dirEntry = dir.getEntry(dir.getThisDirName(), false);
if (!(dirEntry.isScheduledForAddition() && SVNProperty.SCHEDULE_DELETE.equals(schedule))) {
if ((flags & SCHEDULE) != 0) {
attributes.put(SVNProperty.shortPropertyName(SVNProperty.SCHEDULE), schedule);
}
if ((flags & COPIED) != 0) {
attributes.put(SVNProperty.shortPropertyName(SVNProperty.COPIED), copied ? Boolean.TRUE.toString() : null);
}
dir.modifyEntry(dir.getThisDirName(), attributes, true, false);
attributes.clear();
}
dir.saveEntries(false);
// could check for cancellation - entries file saved.
dir.getWCAccess().checkCancelled();
// recurse.
for (Iterator dirs = recurseMap.keySet().iterator(); dirs.hasNext();) {
String entryName = (String) dirs.next();
SVNAdminArea childDir = (SVNAdminArea) recurseMap.get(entryName);
// update 'dir' entry, save entries file again, then enter recursion.
if ((flags & SCHEDULE) != 0) {
attributes.put(SVNProperty.shortPropertyName(SVNProperty.SCHEDULE), schedule);
}
if ((flags & COPIED) != 0) {
attributes.put(SVNProperty.shortPropertyName(SVNProperty.COPIED), copied ? Boolean.TRUE.toString() : null);
}
dir.modifyEntry(entryName, attributes, true, false);
attributes.clear();
if (SVNProperty.SCHEDULE_DELETE.equals(schedule)) {
SVNEvent event = SVNEventFactory.createDeletedEvent(dir, entryName);
dir.getWCAccess().handleEvent(event);
}
dir.saveEntries(false);
markTree(childDir, schedule, copied, flags);
}