diff options
Diffstat (limited to 'plugins/svn4idea/src/org/jetbrains/idea/svn/diff/DirectoryWithBranchComparer.java')
-rw-r--r-- | plugins/svn4idea/src/org/jetbrains/idea/svn/diff/DirectoryWithBranchComparer.java | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/plugins/svn4idea/src/org/jetbrains/idea/svn/diff/DirectoryWithBranchComparer.java b/plugins/svn4idea/src/org/jetbrains/idea/svn/diff/DirectoryWithBranchComparer.java index 0f0e6a714037..784548d9e661 100644 --- a/plugins/svn4idea/src/org/jetbrains/idea/svn/diff/DirectoryWithBranchComparer.java +++ b/plugins/svn4idea/src/org/jetbrains/idea/svn/diff/DirectoryWithBranchComparer.java @@ -24,6 +24,7 @@ import com.intellij.openapi.vfs.VfsUtilCore; import com.intellij.openapi.vfs.VirtualFile; import org.jetbrains.annotations.NotNull; import org.jetbrains.idea.svn.SvnBundle; +import org.jetbrains.idea.svn.SvnVcs; import org.jetbrains.idea.svn.WorkingCopyFormat; import org.jetbrains.idea.svn.api.ClientFactory; import org.tmatesoft.svn.core.SVNException; @@ -53,19 +54,24 @@ public class DirectoryWithBranchComparer extends ElementWithBranchComparer { titleBuilder.append(SvnBundle.message("repository.browser.compare.title", myElementUrl, FileUtil.toSystemDependentName(myVirtualFile.getPresentableUrl()))); - SvnTarget target1 = SvnTarget.fromFile(new File(myVirtualFile.getPath())); - SvnTarget target2 = SvnTarget.fromURL(myElementUrl); + SvnTarget target1 = SvnTarget.fromURL(myElementUrl); + SvnTarget target2 = SvnTarget.fromFile(new File(myVirtualFile.getPath())); changes.addAll(getClientFactory().createDiffClient().compare(target1, target2)); } @NotNull private ClientFactory getClientFactory() { - WorkingCopyFormat format = myVcs.getWorkingCopyFormat(VfsUtilCore.virtualToIoFile(myVirtualFile)); + return getClientFactory(myVcs, VfsUtilCore.virtualToIoFile(myVirtualFile)); + } + + @NotNull + public static ClientFactory getClientFactory(@NotNull SvnVcs vcs, @NotNull File file) { + WorkingCopyFormat format = vcs.getWorkingCopyFormat(file); // svn 1.7 command line "--summarize" option for "diff" command does not support comparing working copy directories with repository // directories - that is why command line is only used explicitly for svn 1.8 - return format.isOrGreater(WorkingCopyFormat.ONE_DOT_EIGHT) ? myVcs.getCommandLineFactory() : myVcs.getSvnKitFactory(); + return format.isOrGreater(WorkingCopyFormat.ONE_DOT_EIGHT) ? vcs.getCommandLineFactory() : vcs.getSvnKitFactory(); } @Override |