From 3c673662ed04d01d98b31ad08f0e17ff8d114986 Mon Sep 17 00:00:00 2001 From: Kirill Likhodedov Date: Sat, 10 Nov 2012 13:32:01 +0400 Subject: [PATCH] [git] IDEA-94378 Hard refresh after stash/unstash, the same as it is done for checkout. --- plugins/git4idea/src/git4idea/GitUtil.java | 5 +++++ plugins/git4idea/src/git4idea/actions/GitStash.java | 3 ++- plugins/git4idea/src/git4idea/branch/GitBranchOperation.java | 3 +-- plugins/git4idea/src/git4idea/ui/GitUnstashDialog.java | 2 +- 4 files changed, 9 insertions(+), 4 deletions(-) diff --git a/plugins/git4idea/src/git4idea/GitUtil.java b/plugins/git4idea/src/git4idea/GitUtil.java index 08cdf298f135..b669db1d5d9a 100644 --- a/plugins/git4idea/src/git4idea/GitUtil.java +++ b/plugins/git4idea/src/git4idea/GitUtil.java @@ -34,6 +34,7 @@ import com.intellij.openapi.vcs.changes.FilePathsHelper; import com.intellij.openapi.vcs.versionBrowser.CommittedChangeList; import com.intellij.openapi.vcs.vfs.AbstractVcsVirtualFile; import com.intellij.openapi.vfs.LocalFileSystem; +import com.intellij.openapi.vfs.VfsUtil; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.util.Consumer; import com.intellij.util.Function; @@ -923,4 +924,8 @@ public class GitUtil { return Collections.emptyMap(); } } + + public static void hardRefresh(VirtualFile dir) { + VfsUtil.markDirtyAndRefresh(true, true, false, dir); + } } diff --git a/plugins/git4idea/src/git4idea/actions/GitStash.java b/plugins/git4idea/src/git4idea/actions/GitStash.java index 39339ba71d14..49e52cfcbd07 100644 --- a/plugins/git4idea/src/git4idea/actions/GitStash.java +++ b/plugins/git4idea/src/git4idea/actions/GitStash.java @@ -19,6 +19,7 @@ import com.intellij.openapi.project.Project; import com.intellij.openapi.vcs.VcsException; import com.intellij.openapi.vcs.changes.ChangeListManager; import com.intellij.openapi.vfs.VirtualFile; +import git4idea.GitUtil; import git4idea.commands.GitHandlerUtil; import git4idea.commands.GitLineHandler; import git4idea.i18n.GitBundle; @@ -52,7 +53,7 @@ public class GitStash extends GitRepositoryAction { affectedRoots.add(root); final GitLineHandler h = d.handler(); GitHandlerUtil.doSynchronously(h, GitBundle.getString("stashing.title"), h.printableCommandLine()); - root.refresh(true, true); + GitUtil.hardRefresh(root); } /** diff --git a/plugins/git4idea/src/git4idea/branch/GitBranchOperation.java b/plugins/git4idea/src/git4idea/branch/GitBranchOperation.java index 3c9b4ecfd01b..1bfc120345ab 100644 --- a/plugins/git4idea/src/git4idea/branch/GitBranchOperation.java +++ b/plugins/git4idea/src/git4idea/branch/GitBranchOperation.java @@ -23,7 +23,6 @@ import com.intellij.openapi.util.io.FileUtil; import com.intellij.openapi.util.text.StringUtil; import com.intellij.openapi.vcs.VcsException; import com.intellij.openapi.vcs.changes.Change; -import com.intellij.openapi.vfs.VfsUtil; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.util.Function; import git4idea.GitPlatformFacade; @@ -247,7 +246,7 @@ abstract class GitBranchOperation { protected static void refreshRoot(@NotNull GitRepository repository) { // marking all files dirty, because sometimes FileWatcher is unable to process such a large set of changes that can happen during // checkout on a large repository: IDEA-89944 - VfsUtil.markDirtyAndRefresh(true, true, false, repository.getRoot()); + GitUtil.hardRefresh(repository.getRoot()); } protected void fatalLocalChangesError(@NotNull String reference) { diff --git a/plugins/git4idea/src/git4idea/ui/GitUnstashDialog.java b/plugins/git4idea/src/git4idea/ui/GitUnstashDialog.java index f75fa91b12fa..061698f4c897 100644 --- a/plugins/git4idea/src/git4idea/ui/GitUnstashDialog.java +++ b/plugins/git4idea/src/git4idea/ui/GitUnstashDialog.java @@ -407,7 +407,7 @@ public class GitUnstashDialog extends DialogWrapper { } }); int rc = GitHandlerUtil.doSynchronously(h, GitBundle.getString("unstash.unstashing"), h.printableCommandLine(), false); - root.refresh(true, true); + GitUtil.hardRefresh(root); if (conflict.get()) { boolean conflictsResolved = new UnstashConflictResolver(myProject, root, getSelectedStash()).merge();