diff --git a/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/actions/RollbackAction.java b/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/actions/RollbackAction.java index 62fca75ca280..91305c2b4bc4 100644 --- a/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/actions/RollbackAction.java +++ b/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/actions/RollbackAction.java @@ -96,27 +96,28 @@ public class RollbackAction extends AnAction implements DumbAware { ? null : "Can not " + UIUtil.removeMnemonic(RollbackUtil.getRollbackOperationName(project)) + " now"; if (ChangeListManager.getInstance(project).isFreezedWithNotification(title)) return; - FileDocumentManager.getInstance().saveAllDocuments(); List missingFiles = e.getData(ChangesListView.MISSING_FILES_DATA_KEY); + List changes = getChanges(project, e); + LinkedHashSet modifiedWithoutEditing = getModifiedWithoutEditing(e, project); + if (modifiedWithoutEditing != null) { + changes = ContainerUtil.filter(changes, change -> !modifiedWithoutEditing.contains(change.getVirtualFile())); + } + + + FileDocumentManager.getInstance().saveAllDocuments(); + boolean hasChanges = false; if (missingFiles != null && !missingFiles.isEmpty()) { hasChanges = true; new RollbackDeletionAction().actionPerformed(e); } - List changes = getChanges(project, e); - - final LinkedHashSet modifiedWithoutEditing = getModifiedWithoutEditing(e, project); if (modifiedWithoutEditing != null && !modifiedWithoutEditing.isEmpty()) { hasChanges = true; rollbackModifiedWithoutEditing(project, modifiedWithoutEditing); } - if (modifiedWithoutEditing != null) { - changes = ContainerUtil.filter(changes, change -> !modifiedWithoutEditing.contains(change.getVirtualFile())); - } - if (!changes.isEmpty()) { RollbackChangesDialog.rollbackChanges(project, changes); }