From c191600517dc713b211760b7e9a7d1fb03a8ae54 Mon Sep 17 00:00:00 2001 From: Roman Shevchenko Date: Wed, 26 Apr 2017 19:11:16 +0200 Subject: [PATCH] [platform] improves "Synchronize selected file" action (IDEA-170378) --- .../ide/actions/SynchronizeCurrentFileAction.java | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/platform/vcs-impl/src/com/intellij/ide/actions/SynchronizeCurrentFileAction.java b/platform/vcs-impl/src/com/intellij/ide/actions/SynchronizeCurrentFileAction.java index b24e7055c612..47b38d6dc86b 100644 --- a/platform/vcs-impl/src/com/intellij/ide/actions/SynchronizeCurrentFileAction.java +++ b/platform/vcs-impl/src/com/intellij/ide/actions/SynchronizeCurrentFileAction.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2015 JetBrains s.r.o. + * Copyright 2000-2017 JetBrains s.r.o. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -19,7 +19,6 @@ import com.intellij.ide.IdeBundle; import com.intellij.openapi.actionSystem.AnAction; import com.intellij.openapi.actionSystem.AnActionEvent; import com.intellij.openapi.actionSystem.CommonDataKeys; -import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.project.DumbAware; import com.intellij.openapi.project.Project; import com.intellij.openapi.vcs.changes.VcsDirtyScopeManager; @@ -57,13 +56,13 @@ public class SynchronizeCurrentFileAction extends AnAction implements DumbAware final VirtualFile[] files = getFiles(e); if (project == null || files == null || files.length == 0) return; - ApplicationManager.getApplication().runWriteAction(() -> { - for (VirtualFile file : files) { - if (file instanceof NewVirtualFile) { - ((NewVirtualFile)file).markDirtyRecursively(); - } + for (VirtualFile file : files) { + if (file.isDirectory()) file.getChildren(); + if (file instanceof NewVirtualFile) { + ((NewVirtualFile)file).markClean(); + ((NewVirtualFile)file).markDirtyRecursively(); } - }); + } RefreshQueue.getInstance().refresh(true, true, () -> postRefresh(project, files), files); }