void () { final List<Pair<FilePath, WorkingCopyFormat>> deletedFiles = new ArrayList<>(); final Collection<FilePath> filesToProcess = new ArrayList<>(); List<VcsException> exceptions = new ArrayList<>(); final AbstractVcsHelper vcsHelper = AbstractVcsHelper.getInstance(myVcs.getProject()); try { fillDeletedFiles(deletedFiles, filesToProcess); if (deletedFiles.isEmpty() && filesToProcess.isEmpty() || myUndoingMove) return; final VcsShowConfirmationOption.Value value = myDeleteConfirmation.getValue(); if (value != VcsShowConfirmationOption.Value.DO_NOTHING_SILENTLY) { if (!deletedFiles.isEmpty()) { final Collection<FilePath> confirmed = promptAboutDeletion(deletedFiles, value, vcsHelper); if (confirmed != null) { filesToProcess.addAll(confirmed); } } if (!filesToProcess.isEmpty()) { runInBackground(message("progress.title.deleting.files.from.subversion"), createDeleteRunnable(filesToProcess, exceptions)); } List<FilePath> deletedFilesFiles = map(deletedFiles, Functions.pairFirst()); for (FilePath file : deletedFilesFiles) { final FilePath parent = file.getParentPath(); if (parent != null) { myFilesToRefresh.add(parent.getVirtualFile()); } } for (FilePath file : deletedFilesFiles) { if (!filesToProcess.contains(file)) { FileUtil.delete(file.getIOFile()); } } } } catch (VcsException e) { exceptions.add(e); } if (!exceptions.isEmpty()) { vcsHelper.showErrors(exceptions, message("delete.files.errors.title")); } }