From 68634203e2bd1b44b82c2f344cc0796e4f677050 Mon Sep 17 00:00:00 2001 From: peter Date: Mon, 31 Aug 2015 12:47:15 +0200 Subject: [PATCH] IDEA-56214 Perforce: Integrate project with conflicts doesn't clear read-only status for files --- .../vcs/merge/MultipleFileMergeDialog.java | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/platform/vcs-impl/src/com/intellij/openapi/vcs/merge/MultipleFileMergeDialog.java b/platform/vcs-impl/src/com/intellij/openapi/vcs/merge/MultipleFileMergeDialog.java index a73108224977..0739c539e558 100644 --- a/platform/vcs-impl/src/com/intellij/openapi/vcs/merge/MultipleFileMergeDialog.java +++ b/platform/vcs-impl/src/com/intellij/openapi/vcs/merge/MultipleFileMergeDialog.java @@ -218,6 +218,10 @@ public class MultipleFileMergeDialog extends DialogWrapper { super.dispose(); } + protected boolean beforeResolve(Collection files) { + return true; + } + @Override @NonNls protected String getDimensionServiceKey() { @@ -227,6 +231,10 @@ public class MultipleFileMergeDialog extends DialogWrapper { private void acceptRevision(final boolean isCurrent) { FileDocumentManager.getInstance().saveAllDocuments(); final Collection files = myTable.getSelection(); + if (!beforeResolve(files)) { + return; + } + for (final VirtualFile file : files) { final Ref ex = new Ref(); ApplicationManager.getApplication().runWriteAction(new Runnable() { @@ -297,7 +305,12 @@ public class MultipleFileMergeDialog extends DialogWrapper { private void showMergeDialog() { DiffRequestFactory requestFactory = DiffRequestFactory.getInstance(); - for (final VirtualFile file : myTable.getSelection()) { + Collection files = myTable.getSelection(); + if (!beforeResolve(files)) { + return; + } + + for (final VirtualFile file : files) { final MergeData mergeData; try { mergeData = myProvider.loadRevisions(file);