From c49bd800cf74574c451880790195a9be4a2afe2c Mon Sep 17 00:00:00 2001 From: Konstantin Kolosovsky Date: Fri, 7 Mar 2014 13:26:06 +0400 Subject: [PATCH] svn: Perform saving all documents during move/rename in SvnFileSystemListener only if operations are related to files under svn - otherwise it could break functionality not related to svn (like renaming file under git) if svn plugin is enabled --- .../src/org/jetbrains/idea/svn/SvnFileSystemListener.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/plugins/svn4idea/src/org/jetbrains/idea/svn/SvnFileSystemListener.java b/plugins/svn4idea/src/org/jetbrains/idea/svn/SvnFileSystemListener.java index 5727458ad9d9..2e2145b8853a 100644 --- a/plugins/svn4idea/src/org/jetbrains/idea/svn/SvnFileSystemListener.java +++ b/plugins/svn4idea/src/org/jetbrains/idea/svn/SvnFileSystemListener.java @@ -211,8 +211,6 @@ public class SvnFileSystemListener extends CommandAdapter implements LocalFileOp } public boolean move(VirtualFile file, VirtualFile toDir) throws IOException { - FileDocumentManager.getInstance().saveAllDocuments(); - File srcFile = getIOFile(file); File dstFile = new File(getIOFile(toDir), file.getName()); @@ -223,6 +221,8 @@ public class SvnFileSystemListener extends CommandAdapter implements LocalFileOp if (vcs == null) { return false; } + + FileDocumentManager.getInstance().saveAllDocuments(); if (sourceVcs == null) { return createItem(toDir, file.getName(), file.isDirectory(), true); } @@ -241,12 +241,12 @@ public class SvnFileSystemListener extends CommandAdapter implements LocalFileOp } public boolean rename(VirtualFile file, String newName) throws IOException { - FileDocumentManager.getInstance().saveAllDocuments(); - File srcFile = getIOFile(file); File dstFile = new File(srcFile.getParentFile(), newName); SvnVcs vcs = getVCS(file); if (vcs != null) { + FileDocumentManager.getInstance().saveAllDocuments(); + myFilesToRefresh.add(file.getParent()); return doMove(vcs, srcFile, dstFile); }