summaryrefslogtreecommitdiff
path: root/plugins/svn4idea/src/org/jetbrains/idea/svn/SvnChangeProviderContext.java
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/svn4idea/src/org/jetbrains/idea/svn/SvnChangeProviderContext.java')
-rw-r--r--plugins/svn4idea/src/org/jetbrains/idea/svn/SvnChangeProviderContext.java15
1 files changed, 12 insertions, 3 deletions
diff --git a/plugins/svn4idea/src/org/jetbrains/idea/svn/SvnChangeProviderContext.java b/plugins/svn4idea/src/org/jetbrains/idea/svn/SvnChangeProviderContext.java
index 716abbe1b20b..9ae90c722cb3 100644
--- a/plugins/svn4idea/src/org/jetbrains/idea/svn/SvnChangeProviderContext.java
+++ b/plugins/svn4idea/src/org/jetbrains/idea/svn/SvnChangeProviderContext.java
@@ -23,6 +23,7 @@ import com.intellij.openapi.vcs.*;
import com.intellij.openapi.vcs.changes.*;
import com.intellij.openapi.vfs.LocalFileSystem;
import com.intellij.openapi.vfs.VirtualFile;
+import com.intellij.util.containers.ContainerUtil;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.jetbrains.idea.svn.actions.AbstractShowPropertiesDiffAction;
@@ -48,6 +49,7 @@ class SvnChangeProviderContext implements StatusReceiver {
private Map<FilePath, String> myCopyFromURLs = null;
private final SvnVcs myVcs;
private final SvnBranchConfigurationManager myBranchConfigurationManager;
+ private final List<File> filesToRefresh = ContainerUtil.newArrayList();
private final ProgressIndicator myProgress;
@@ -79,6 +81,11 @@ class SvnChangeProviderContext implements StatusReceiver {
public void bewareRoot(VirtualFile vf, SVNURL url) {
}
+ @Override
+ public void finish() {
+ LocalFileSystem.getInstance().refreshIoFiles(filesToRefresh, true, false, null);
+ }
+
public ChangelistBuilder getBuilder() {
return myChangelistBuilder;
}
@@ -302,7 +309,7 @@ class SvnChangeProviderContext implements StatusReceiver {
*
* @param filePath the path of a changed file.
*/
- private static void loadEntriesFile(final FilePath filePath) {
+ private void loadEntriesFile(final FilePath filePath) {
final FilePath parentPath = filePath.getParentPath();
if (parentPath == null) {
return;
@@ -313,9 +320,11 @@ class SvnChangeProviderContext implements StatusReceiver {
}
}
- private static void refreshDotSvnAndEntries(FilePath filePath) {
+ private void refreshDotSvnAndEntries(FilePath filePath) {
final File svn = new File(filePath.getPath(), SvnUtil.SVN_ADMIN_DIR_NAME);
- LocalFileSystem.getInstance().refreshIoFiles(Arrays.asList(svn, new File(svn, SvnUtil.ENTRIES_FILE_NAME)), true, false, null);
+
+ filesToRefresh.add(svn);
+ filesToRefresh.add(new File(svn, SvnUtil.ENTRIES_FILE_NAME));
}
// seems here we can only have a tree conflict; which can be marked on either path (?)