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 3a574acad0f4..2328c6d8f81a 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 @@ -322,11 +322,16 @@ public class MultipleFileMergeDialog extends DialogWrapper { if (file.getFileType() == StdFileTypes.IDEA_MODULE || file.getFileType() == StdFileTypes.IDEA_PROJECT || file.getFileType() == StdFileTypes.IDEA_WORKSPACE || - ProjectOpenProcessor.getImportProvider(file) != null) { + isProjectFile(file)) { myProjectManager.saveChangedProjectFile(file, myProject); } } + private static boolean isProjectFile(VirtualFile file) { + final ProjectOpenProcessor importProvider = ProjectOpenProcessor.getImportProvider(file); + return importProvider != null && importProvider.lookForProjectsInDirectory(); + } + private static String decodeContent(final VirtualFile file, final byte[] content) { return StringUtil.convertLineSeparators(file.getCharset().decode(ByteBuffer.wrap(content)).toString()); }