void (@NotNull UnversionedAndNotTouchedFilesGroupCollector collector) { try { // copy also directories here - for moving with svn // also, maybe still use just patching? -> well-tested thing, only deletion of folders might suffer // todo: special case: addition + move. mark it final File tmp = FileUtil.createTempDirectory("forRename", ""); final PropertyConsumer handler = createPropertyHandler(myProperties, collector); for (Map.Entry<File, ThroughRenameInfo> entry : collector.getFromTo().entrySet()) { final File source = entry.getKey(); final ThroughRenameInfo info = entry.getValue(); if (info.isVersioned()) { myVcs.getFactory(source).createPropertyClient().list(Target.on(source), Revision.WORKING, Depth.EMPTY, handler); } if (source.isDirectory()) { if (!FileUtil.filesEqual(info.getTo(), info.getFirstTo())) { myFromToModified.add(new CopiedAsideInfo(info.getParentImmediateReverted(), info.getTo(), info.getFirstTo(), null)); } continue; } final File tmpFile = FileUtil.createTempFile(tmp, source.getName(), "", false); tmpFile.mkdirs(); FileUtil.delete(tmpFile); FileUtil.copy(source, tmpFile); myFromToModified.add(new CopiedAsideInfo(info.getParentImmediateReverted(), info.getTo(), info.getFirstTo(), tmpFile)); } } catch (IOException e) { myExceptions.add(new VcsException(e)); } catch (VcsException e) { myExceptions.add(e); } }