[vcs] Don't call FilePathImpl constructor directly: use helper method
authorKirill Likhodedov <Kirill.Likhodedov@jetbrains.com>
Thu, 14 May 2015 14:17:49 +0000 (17:17 +0300)
committerKirill Likhodedov <Kirill.Likhodedov@jetbrains.com>
Fri, 15 May 2015 14:44:44 +0000 (17:44 +0300)
94 files changed:
platform/dvcs-impl/src/com/intellij/dvcs/DvcsCommitAdditionalComponent.java
platform/lvcs-impl/src/com/intellij/history/core/revisions/Difference.java
platform/platform-tests/testSrc/com/intellij/codeInsight/actions/ReformatOnlyVcsChangedTextTest.java
platform/vcs-impl/src/com/intellij/openapi/diff/impl/patch/ApplyPatchContext.java
platform/vcs-impl/src/com/intellij/openapi/diff/impl/patch/apply/ApplyFilePatchBase.java
platform/vcs-impl/src/com/intellij/openapi/diff/impl/patch/formove/PatchApplier.java
platform/vcs-impl/src/com/intellij/openapi/diff/impl/patch/formove/PathMerger.java
platform/vcs-impl/src/com/intellij/openapi/diff/impl/patch/formove/PathsVerifier.java
platform/vcs-impl/src/com/intellij/openapi/vcs/ObjectsConvertor.java
platform/vcs-impl/src/com/intellij/openapi/vcs/actions/AbstractCommonCheckinAction.java
platform/vcs-impl/src/com/intellij/openapi/vcs/actions/AbstractShowDiffAction.java
platform/vcs-impl/src/com/intellij/openapi/vcs/actions/AnnotateRevisionAction.java
platform/vcs-impl/src/com/intellij/openapi/vcs/actions/CommonCheckinProjectAction.java
platform/vcs-impl/src/com/intellij/openapi/vcs/actions/CompareWithSelectedRevisionAction.java
platform/vcs-impl/src/com/intellij/openapi/vcs/actions/SelectedBlockHistoryAction.java
platform/vcs-impl/src/com/intellij/openapi/vcs/actions/ShowDiffFromAnnotation.java
platform/vcs-impl/src/com/intellij/openapi/vcs/actions/TabbedShowHistoryAction.java
platform/vcs-impl/src/com/intellij/openapi/vcs/actions/VcsContextWrapper.java
platform/vcs-impl/src/com/intellij/openapi/vcs/changes/AbstractIgnoredFilesHolder.java
platform/vcs-impl/src/com/intellij/openapi/vcs/changes/ChangeListManagerImpl.java
platform/vcs-impl/src/com/intellij/openapi/vcs/changes/ChangeListWorker.java
platform/vcs-impl/src/com/intellij/openapi/vcs/changes/DirtBuilder.java
platform/vcs-impl/src/com/intellij/openapi/vcs/changes/RemoteRevisionsNumbersCache.java
platform/vcs-impl/src/com/intellij/openapi/vcs/changes/RemoteRevisionsStateCache.java
platform/vcs-impl/src/com/intellij/openapi/vcs/changes/ShortDiffDetails.java
platform/vcs-impl/src/com/intellij/openapi/vcs/changes/SwitchedFileHolder.java
platform/vcs-impl/src/com/intellij/openapi/vcs/changes/UpdatingChangeListBuilder.java
platform/vcs-impl/src/com/intellij/openapi/vcs/changes/VcsCurrentRevisionProxy.java
platform/vcs-impl/src/com/intellij/openapi/vcs/changes/VcsDirtyScopeImpl.java
platform/vcs-impl/src/com/intellij/openapi/vcs/changes/VcsDirtyScopeVfsListener.java
platform/vcs-impl/src/com/intellij/openapi/vcs/changes/VirtualFileHolder.java
platform/vcs-impl/src/com/intellij/openapi/vcs/changes/actions/MoveChangesToAnotherListAction.java
platform/vcs-impl/src/com/intellij/openapi/vcs/changes/committed/ChangesCacheFile.java
platform/vcs-impl/src/com/intellij/openapi/vcs/changes/committed/RootsCalculator.java
platform/vcs-impl/src/com/intellij/openapi/vcs/changes/patch/ApplyPatchAction.java
platform/vcs-impl/src/com/intellij/openapi/vcs/changes/patch/FilePatchInProgress.java
platform/vcs-impl/src/com/intellij/openapi/vcs/changes/shelf/ShelvedBinaryFile.java
platform/vcs-impl/src/com/intellij/openapi/vcs/changes/shelf/ShelvedChange.java
platform/vcs-impl/src/com/intellij/openapi/vcs/changes/ui/ChangesBrowserModuleNode.java
platform/vcs-impl/src/com/intellij/openapi/vcs/changes/ui/ChangesListView.java
platform/vcs-impl/src/com/intellij/openapi/vcs/changes/ui/TreeModelBuilder.java
platform/vcs-impl/src/com/intellij/openapi/vcs/impl/AbstractVcsHelperImpl.java
platform/vcs-impl/src/com/intellij/openapi/vcs/impl/BasicDefaultVcsRootPolicy.java
platform/vcs-impl/src/com/intellij/openapi/vcs/impl/VcsRootIterator.java
platform/vcs-impl/src/com/intellij/openapi/vcs/readOnlyHandler/VcsHandleTypeFactory.java
platform/vcs-impl/src/com/intellij/openapi/vcs/update/ScopeInfo.java
platform/vcs-impl/src/com/intellij/openapi/vcs/update/ShowUpdatedDiffAction.java
platform/vcs-impl/testSrc/com/intellij/openapi/vcs/LocalChangesUnderRootsTest.java
platform/vcs-impl/testSrc/com/intellij/openapi/vcs/changes/ui/HierarchicalFilePathComparatorTest.java
platform/vcs-impl/testSrc/com/intellij/testFramework/vcs/MockChangeListManager.java
plugins/git4idea/src/git4idea/GitContentRevision.java
plugins/git4idea/src/git4idea/actions/GitCompareWithBranchAction.java
plugins/git4idea/src/git4idea/annotate/GitAnnotationProvider.java
plugins/git4idea/src/git4idea/changes/GitCommittedChangeListProvider.java
plugins/git4idea/src/git4idea/changes/GitOutgoingChangesProvider.java
plugins/git4idea/src/git4idea/history/GitHistoryProvider.java
plugins/git4idea/src/git4idea/status/GitChangeProvider.java
plugins/git4idea/src/git4idea/status/GitChangesCollector.java
plugins/git4idea/src/git4idea/update/GitMergeUpdater.java
plugins/git4idea/src/git4idea/util/GitSimplePathsBrowser.java
plugins/git4idea/tests/git4idea/history/GitHistoryUtilsTest.java
plugins/git4idea/tests/git4idea/tests/GitChangeProviderTest.java
plugins/git4idea/tests/git4idea/tests/GitChangeProviderVersionedTest.java
plugins/hg4idea/src/org/zmlx/hg4idea/HgVFSListener.java
plugins/hg4idea/src/org/zmlx/hg4idea/provider/HgCachingCommittedChangesProvider.java
plugins/hg4idea/src/org/zmlx/hg4idea/provider/HgChangeProvider.java
plugins/hg4idea/testSrc/hg4idea/test/diff/HgGetDiffForDirTest.java
plugins/svn4idea/src/org/jetbrains/idea/svn/SvnChangeProvider.java
plugins/svn4idea/src/org/jetbrains/idea/svn/SvnChangeProviderContext.java
plugins/svn4idea/src/org/jetbrains/idea/svn/SvnRecursiveStatusWalker.java
plugins/svn4idea/src/org/jetbrains/idea/svn/SvnScopeZipper.java
plugins/svn4idea/src/org/jetbrains/idea/svn/SvnWriteOperationLocks.java
plugins/svn4idea/src/org/jetbrains/idea/svn/actions/CreateExternalAction.java
plugins/svn4idea/src/org/jetbrains/idea/svn/annotate/SvnAnnotationProvider.java
plugins/svn4idea/src/org/jetbrains/idea/svn/checkin/SvnCheckinHandlerFactory.java
plugins/svn4idea/src/org/jetbrains/idea/svn/history/SvnChangeList.java
plugins/svn4idea/src/org/jetbrains/idea/svn/history/SvnCopyPathTracker.java
plugins/svn4idea/src/org/jetbrains/idea/svn/history/SvnEditCommitMessageFromFileHistoryAction.java
plugins/svn4idea/src/org/jetbrains/idea/svn/integrate/LocalChangesPromptTask.java
plugins/svn4idea/src/org/jetbrains/idea/svn/integrate/SvnIntegrateChangesTask.java
plugins/svn4idea/src/org/jetbrains/idea/svn/rollback/Reverter.java
plugins/svn4idea/src/org/jetbrains/idea/svn/rollback/UnversionedAndNotTouchedFilesGroupCollector.java
plugins/svn4idea/testSource/org/jetbrains/idea/svn/SvnCommitTest.java
plugins/svn4idea/testSource/org/jetbrains/idea/svn/SvnDeleteTest.java
plugins/svn4idea/testSource/org/jetbrains/idea/svn/SvnHistoryTest.java
plugins/svn4idea/testSource/org/jetbrains/idea/svn/SvnNativeClientAuthTest.java
plugins/svn4idea/testSource/org/jetbrains/idea/svn/SvnProtocolsTest.java
plugins/svn4idea/testSource/org/jetbrains/idea/svn/SvnResolveTreeAcceptVariantsTest.java
plugins/svn4idea/testSource/org/jetbrains/idea/svn/SvnRollbackTest.java
plugins/svn4idea/testSource/org/jetbrains/idea/svn/SvnTestDirtyScopeStateTest.java
plugins/svn4idea/testSource/org/jetbrains/idea/svn/SvnTreeConflictDataTest.java
plugins/svn4idea/testSource/org/jetbrains/idea/svn16/SvnDeleteTest.java
plugins/svn4idea/testSource/org/jetbrains/idea/svn16/SvnRollbackTest.java
plugins/svn4idea/testSource/org/jetbrains/idea/svn16/SvnTestDirtyScopeStateTest.java

index 76d58125b719d827bd85f850159b5e3f73beac97..40e9322f604853b03e66bcd20324cbcbc3ef305c 100644 (file)
@@ -25,13 +25,13 @@ import com.intellij.openapi.util.ThrowableComputable;
 import com.intellij.openapi.util.text.StringUtil;
 import com.intellij.openapi.vcs.CheckinProjectPanel;
 import com.intellij.openapi.vcs.FilePath;
-import com.intellij.openapi.vcs.FilePathImpl;
 import com.intellij.openapi.vcs.VcsException;
 import com.intellij.openapi.vcs.ui.RefreshableOnComponent;
 import com.intellij.openapi.vfs.VirtualFile;
 import com.intellij.ui.NonFocusableCheckBox;
 import com.intellij.util.Function;
 import com.intellij.util.containers.ContainerUtil;
+import com.intellij.vcsUtil.VcsUtil;
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
 
@@ -166,7 +166,7 @@ public abstract class DvcsCommitAdditionalComponent implements RefreshableOnComp
     return ContainerUtil.map(myCheckinPanel.getFiles(), new Function<File, FilePath>() {
       @Override
       public FilePath fun(File file) {
-        return new FilePathImpl(file, file.isDirectory());
+        return VcsUtil.getFilePath(file, file.isDirectory());
       }
     });
   }
index 91311388cb16ef0b4303b1dc458dd4e88c9a4a2d..582428ec7c04c136053bdf38202e460eb85feb02 100644 (file)
@@ -19,10 +19,10 @@ package com.intellij.history.core.revisions;
 import com.intellij.history.core.tree.Entry;
 import com.intellij.history.integration.IdeaGateway;
 import com.intellij.openapi.vcs.FilePath;
-import com.intellij.openapi.vcs.FilePathImpl;
 import com.intellij.openapi.vcs.VcsException;
 import com.intellij.openapi.vcs.changes.ContentRevision;
 import com.intellij.openapi.vcs.history.VcsRevisionNumber;
+import com.intellij.vcsUtil.VcsUtil;
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
 
@@ -71,7 +71,7 @@ public class Difference {
 
       @NotNull
       public FilePath getFile() {
-        return new FilePathImpl(new File(e.getPath()), e.isDirectory());
+        return VcsUtil.getFilePath(new File(e.getPath()), e.isDirectory());
       }
 
       @NotNull
index 4b7ac648fd95d66195811fc26d42f16ea8377133..8868a36cacc10f35c4b5da53ac99ef6692e9aa82 100644 (file)
@@ -19,7 +19,7 @@ import com.intellij.lang.LanguageFormatting;
 import com.intellij.openapi.components.impl.ComponentManagerImpl;
 import com.intellij.openapi.fileTypes.PlainTextLanguage;
 import com.intellij.openapi.project.Project;
-import com.intellij.openapi.vcs.FilePathImpl;
+import com.intellij.openapi.vcs.FilePath;
 import com.intellij.openapi.vcs.changes.Change;
 import com.intellij.openapi.vcs.changes.ChangeListManager;
 import com.intellij.openapi.vcs.changes.ContentRevision;
@@ -31,6 +31,7 @@ import com.intellij.testFramework.LightPlatformTestCase;
 import com.intellij.testFramework.PlatformTestCase;
 import com.intellij.testFramework.vcs.MockChangeListManager;
 import com.intellij.util.containers.ContainerUtil;
+import com.intellij.vcsUtil.VcsUtil;
 import org.jetbrains.annotations.NotNull;
 import org.picocontainer.MutablePicoContainer;
 
@@ -364,7 +365,7 @@ public class ReformatOnlyVcsChangedTextTest extends LightPlatformTestCase {
 
     @NotNull
     private Change createChange(@NotNull String committed, @NotNull PsiFile file) {
-      FilePathImpl filePath = new FilePathImpl(file.getVirtualFile());
+      FilePath filePath = VcsUtil.getFilePath(file.getVirtualFile());
       ContentRevision before = new SimpleContentRevision(committed, filePath, "");
       ContentRevision after = new SimpleContentRevision("", filePath, "");
       return new Change(before, after);
index 476ed2bcd2501a6ad6ec0634a68b5c918123be3e..41145ad2fc9ba5eb0923edb7ef7e2567cf060f17 100644 (file)
@@ -3,11 +3,11 @@ package com.intellij.openapi.diff.impl.patch;
 
 import com.intellij.openapi.util.io.FileUtil;
 import com.intellij.openapi.vcs.FilePath;
-import com.intellij.openapi.vcs.FilePathImpl;
 import com.intellij.openapi.vfs.VirtualFile;
+import com.intellij.vcsUtil.VcsUtil;
 
-import java.io.IOException;
 import java.io.File;
+import java.io.IOException;
 import java.util.*;
 
 /**
@@ -90,7 +90,7 @@ public class ApplyPatchContext {
   }
 
   public void registerBeforeRename(final VirtualFile file) {
-    final FilePathImpl path = new FilePathImpl(new File(file.getPath()), file.isDirectory());
+    FilePath path = VcsUtil.getFilePath(new File(file.getPath()), file.isDirectory());
     addAffectedFile(path);
     myPathsBeforeRename.put(file, path);
   }
@@ -98,10 +98,10 @@ public class ApplyPatchContext {
   public FilePath getPathBeforeRename(final VirtualFile file) {
     final FilePath path = myPathsBeforeRename.get(file);
     if (path != null) return path;
-    return new FilePathImpl(file);
+    return VcsUtil.getFilePath(file);
   }
 
   public void addAffectedFile(final VirtualFile file) {
-    addAffectedFile(new FilePathImpl(new File(file.getPath()), file.isDirectory()));
+    addAffectedFile(VcsUtil.getFilePath(file));
   }
 }
index dc9ab5ac99d2e225d79ab983090177ff54073ede..ed66b4b873ed5f5e6dd50f54390dcd597f152139 100644 (file)
@@ -25,6 +25,7 @@ import com.intellij.openapi.vcs.FilePath;
 import com.intellij.openapi.vcs.FilePathImpl;
 import com.intellij.openapi.vcs.changes.CommitContext;
 import com.intellij.openapi.vfs.VirtualFile;
+import com.intellij.vcsUtil.VcsUtil;
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
 
@@ -46,7 +47,7 @@ public abstract class ApplyFilePatchBase<T extends FilePatch> implements ApplyFi
     if (myPatch.isNewFile()) {
       return new FilePathImpl(file, myPatch.getBeforeFileName(), false);
     }
-    return new FilePathImpl(file);
+    return VcsUtil.getFilePath(file);
   }
 
   public Result apply(final VirtualFile fileToPatch,
index ca2dc227b5bdd737747111810594f7daaa43ce85..d0669c4268075db4668146a7c4049be8ade99061 100644 (file)
@@ -47,6 +47,7 @@ import com.intellij.openapi.vfs.newvfs.RefreshQueue;
 import com.intellij.util.Consumer;
 import com.intellij.util.WaitForProgressToShow;
 import com.intellij.util.continuation.*;
+import com.intellij.vcsUtil.VcsUtil;
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
 
@@ -95,7 +96,7 @@ public class PatchApplier<BinaryType extends FilePatch> {
 
       @Override
       public FilePath getPath(FilePatch patch, String path) {
-        return PathMerger.getFile(new FilePathImpl(myBaseDirectory), path);
+        return PathMerger.getFile(VcsUtil.getFilePath(myBaseDirectory), path);
       }
     });
   }
index 5dca1e122f46a17259cbf6d26a80b75011713b93..837cfbd0b2a75b767f9a91ffe0722738539d0c75 100644 (file)
@@ -17,10 +17,10 @@ package com.intellij.openapi.diff.impl.patch.formove;
 
 import com.intellij.openapi.util.SystemInfo;
 import com.intellij.openapi.vcs.FilePath;
-import com.intellij.openapi.vcs.FilePathImpl;
 import com.intellij.openapi.vcs.changes.patch.RelativePathCalculator;
 import com.intellij.openapi.vfs.LocalFileSystem;
 import com.intellij.openapi.vfs.VirtualFile;
+import com.intellij.vcsUtil.VcsUtil;
 import org.jetbrains.annotations.Nullable;
 
 import java.io.File;
@@ -230,7 +230,7 @@ public class PathMerger {
 
     @Override
     public FilePath getResult() {
-      return new FilePathImpl(myIoDelegate.getResult(), myIsDirectory);
+      return VcsUtil.getFilePath(myIoDelegate.getResult(), myIsDirectory);
     }
 
     @Override
index a205c418c2c3df567c2d85ff23f85e985276bd22..081b69894866e621d1dd929ba7d5da5ee8bb38b3 100644 (file)
@@ -31,6 +31,7 @@ import com.intellij.openapi.vcs.changes.patch.RelativePathCalculator;
 import com.intellij.openapi.vcs.changes.shelf.ShelveChangesManager;
 import com.intellij.openapi.vfs.VfsUtil;
 import com.intellij.openapi.vfs.VirtualFile;
+import com.intellij.vcsUtil.VcsUtil;
 import org.jetbrains.annotations.CalledInAwt;
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
@@ -112,7 +113,7 @@ public class PathsVerifier<BinaryType extends FilePatch> {
   
   private void addAllFilePath(final Collection<VirtualFile> files, final Collection<FilePath> paths) {
     for (VirtualFile file : files) {
-      paths.add(new FilePathImpl(file));
+      paths.add(VcsUtil.getFilePath(file));
     }
   }
 
@@ -223,7 +224,7 @@ public class PathsVerifier<BinaryType extends FilePatch> {
 
     protected boolean precheck(final VirtualFile beforeFile, final VirtualFile afterFile, DelayedPrecheckContext context) {
       if (afterFile != null) {
-        context.addOverrideExisting(myPatch, new FilePathImpl(afterFile));
+        context.addOverrideExisting(myPatch, VcsUtil.getFilePath(afterFile));
       }
       return true;
     }
@@ -236,7 +237,7 @@ public class PathsVerifier<BinaryType extends FilePatch> {
         return false;
       }
       final VirtualFile file = createFile(parent, pieces[pieces.length - 1]);
-      myAddedPaths.add(new FilePathImpl(file));
+      myAddedPaths.add(VcsUtil.getFilePath(file));
       if (! checkExistsAndValid(file, myAfterName)) {
         return false;
       }
index cb706bd69dbc95d7f967d5f47d3dc32014abe911..ed31148a2ee7f8909ff9c039246a6f2bc09a6e15 100644 (file)
@@ -18,6 +18,7 @@ package com.intellij.openapi.vcs;
 import com.intellij.openapi.vfs.VirtualFile;
 import com.intellij.util.NotNullFunction;
 import com.intellij.util.containers.Convertor;
+import com.intellij.vcsUtil.VcsUtil;
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
 
@@ -35,7 +36,7 @@ public class ObjectsConvertor {
 
   public static final Convertor<VirtualFile, FilePath> VIRTUAL_FILEPATH = new Convertor<VirtualFile, FilePath>() {
     public FilePath convert(VirtualFile vf) {
-      return new FilePathImpl(vf);
+      return VcsUtil.getFilePath(vf);
     }
   };
 
index 151547ec0a9e064236c996cc493383cd01e0d034..a99268db1e66410e88263b9cb8119ce4510374be 100644 (file)
@@ -193,7 +193,7 @@ public abstract class AbstractCommonCheckinAction extends AbstractVcsAction {
     ProjectLevelVcsManager manager = ProjectLevelVcsManager.getInstance(project);
     VirtualFile[] roots = manager.getAllVersionedRoots();
     for (VirtualFile root : roots) {
-      virtualFiles.add(new FilePathImpl(root));
+      virtualFiles.add(VcsUtil.getFilePath(root));
     }
     return virtualFiles.toArray(new FilePath[virtualFiles.size()]);
   }
index 5fb94601490ca37720d2086b974704db492ebd09..976762ccdb61e0907dd8dca5a6cddf659fff279a 100644 (file)
@@ -19,7 +19,6 @@ import com.intellij.openapi.actionSystem.AnActionEvent;
 import com.intellij.openapi.actionSystem.Presentation;
 import com.intellij.openapi.project.Project;
 import com.intellij.openapi.vcs.AbstractVcs;
-import com.intellij.openapi.vcs.FilePathImpl;
 import com.intellij.openapi.vcs.ProjectLevelVcsManager;
 import com.intellij.openapi.vcs.changes.ChangeListManager;
 import com.intellij.openapi.vcs.diff.DiffProvider;
@@ -27,6 +26,7 @@ import com.intellij.openapi.vcs.impl.BackgroundableActionEnabledHandler;
 import com.intellij.openapi.vcs.impl.ProjectLevelVcsManagerImpl;
 import com.intellij.openapi.vcs.impl.VcsBackgroundableActions;
 import com.intellij.openapi.vfs.VirtualFile;
+import com.intellij.vcsUtil.VcsUtil;
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
 
@@ -88,7 +88,7 @@ public abstract class AbstractShowDiffAction extends AbstractVcsAction{
 
     if (diffProvider == null) return null;
 
-    if (AbstractVcs.fileInVcsByFileStatus(project, new FilePathImpl(selectedFile))) {
+    if (AbstractVcs.fileInVcsByFileStatus(project, VcsUtil.getFilePath(selectedFile))) {
       return vcs;
     }
     return null;
index fc31cf2b17f8ba5525d65e1e4050f1c986c24147..df4633b0b1f81c0ebbaaa8c7b96193aafd16a5d8 100644 (file)
@@ -6,7 +6,6 @@ import com.intellij.openapi.localVcs.UpToDateLineNumberProvider;
 import com.intellij.openapi.project.DumbAware;
 import com.intellij.openapi.vcs.AbstractVcs;
 import com.intellij.openapi.vcs.FilePath;
-import com.intellij.openapi.vcs.FilePathImpl;
 import com.intellij.openapi.vcs.annotate.FileAnnotation;
 import com.intellij.openapi.vcs.annotate.LineNumberListener;
 import com.intellij.openapi.vcs.history.VcsFileRevision;
@@ -14,6 +13,7 @@ import com.intellij.openapi.vcs.history.VcsFileRevisionEx;
 import com.intellij.openapi.vcs.vfs.VcsFileSystem;
 import com.intellij.openapi.vcs.vfs.VcsVirtualFile;
 import com.intellij.openapi.vfs.VirtualFile;
+import com.intellij.vcsUtil.VcsUtil;
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
 
@@ -64,7 +64,7 @@ abstract class AnnotateRevisionAction extends AnnotateRevisionActionBase impleme
 
     final FileType currentFileType = myAnnotation.getFile().getFileType();
     FilePath filePath =
-      (revision instanceof VcsFileRevisionEx ? ((VcsFileRevisionEx)revision).getPath() : new FilePathImpl(myAnnotation.getFile()));
+      (revision instanceof VcsFileRevisionEx ? ((VcsFileRevisionEx)revision).getPath() : VcsUtil.getFilePath(myAnnotation.getFile()));
     return new VcsVirtualFile(filePath.getPath(), revision, VcsFileSystem.getInstance()) {
       @NotNull
       @Override
index ddddee496fb5e877e8267bbcb745e21b823a1cc0..891b5b7972d3430e6d0563156c11a06a38716497 100644 (file)
@@ -19,6 +19,7 @@ import com.intellij.openapi.actionSystem.Presentation;
 import com.intellij.openapi.project.Project;
 import com.intellij.openapi.vcs.*;
 import com.intellij.openapi.vfs.VirtualFile;
+import com.intellij.vcsUtil.VcsUtil;
 import org.jetbrains.annotations.NotNull;
 
 import java.util.ArrayList;
@@ -36,7 +37,7 @@ public class CommonCheckinProjectAction extends AbstractCommonCheckinAction {
       if (vcs.getCheckinEnvironment() != null) {
         VirtualFile[] roots = vcsManager.getRootsUnderVcs(vcs);
         for (VirtualFile root : roots) {
-          virtualFiles.add(new FilePathImpl(root));
+          virtualFiles.add(VcsUtil.getFilePath(root));
         }
       }
     }
index a4acd1d4864b901c107c67aadac32b6a2b185118..3cce60ebaffd3ea11ed0d76795aeafd900a6c2ee 100644 (file)
@@ -21,7 +21,6 @@ import com.intellij.openapi.project.Project;
 import com.intellij.openapi.ui.popup.JBPopup;
 import com.intellij.openapi.ui.popup.PopupChooserBuilder;
 import com.intellij.openapi.vcs.AbstractVcs;
-import com.intellij.openapi.vcs.FilePathImpl;
 import com.intellij.openapi.vcs.ProjectLevelVcsManager;
 import com.intellij.openapi.vcs.VcsBundle;
 import com.intellij.openapi.vcs.diff.DiffProvider;
@@ -37,6 +36,7 @@ import com.intellij.util.TreeItem;
 import com.intellij.util.text.DateFormatUtil;
 import com.intellij.util.ui.ColumnInfo;
 import com.intellij.util.ui.ListTableModel;
+import com.intellij.vcsUtil.VcsUtil;
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
 
@@ -126,7 +126,7 @@ public class CompareWithSelectedRevisionAction extends AbstractVcsAction {
     final VcsHistoryProvider vcsHistoryProvider = vcs.getVcsHistoryProvider();
 
     new VcsHistoryProviderBackgroundableProxy(vcs, vcsHistoryProvider, vcs.getDiffProvider()).
-      createSessionFor(vcs.getKeyInstanceMethod(), new FilePathImpl(file),
+      createSessionFor(vcs.getKeyInstanceMethod(), VcsUtil.getFilePath(file),
         new Consumer<VcsHistorySession>() {
           @Override
           public void consume(VcsHistorySession session) {
index 51cc05698e08f482e5ab3d1c46b78eb8480fb6fd..fb3a0cd6cb75fe76e9809f710708663188857a1b 100644 (file)
@@ -34,6 +34,7 @@ import com.intellij.openapi.vfs.VirtualFile;
 import com.intellij.util.Consumer;
 import com.intellij.vcsUtil.VcsSelection;
 import com.intellij.vcsUtil.VcsSelectionUtil;
+import com.intellij.vcsUtil.VcsUtil;
 import org.jetbrains.annotations.NotNull;
 
 import java.util.List;
@@ -55,7 +56,7 @@ public class SelectedBlockHistoryAction extends AbstractVcsAction {
     if (vcs == null) return false;
     VcsHistoryProvider vcsHistoryProvider = vcs.getVcsBlockHistoryProvider();
     if (vcsHistoryProvider == null) return false;
-    if (! AbstractVcs.fileInVcsByFileStatus(project, new FilePathImpl(file))) return false;
+    if (! AbstractVcs.fileInVcsByFileStatus(project, VcsUtil.getFilePath(file))) return false;
 
     VcsSelection selection = VcsSelectionUtil.getSelection(context);
     if (selection == null) {
@@ -81,7 +82,7 @@ public class SelectedBlockHistoryAction extends AbstractVcsAction {
       final VcsException[] preloadException = new VcsException[1];
       final CachedRevisionsContents cachedRevisionsContents = new CachedRevisionsContents(project, file);
       new VcsHistoryProviderBackgroundableProxy(activeVcs, provider, activeVcs.getDiffProvider()).
-        createSessionFor(activeVcs.getKeyInstanceMethod(), new FilePathImpl(file),
+        createSessionFor(activeVcs.getKeyInstanceMethod(), VcsUtil.getFilePath(file),
         new Consumer<VcsHistorySession>() {
           public void consume(VcsHistorySession session) {
             if (preloadException[0] != null) {
index afb1694e3b4813c43ecb7c59d471b3963c82cf9f..cc6c27b0da5d6e8f608c3ec908775aebd739404f 100644 (file)
@@ -43,6 +43,7 @@ import com.intellij.openapi.vcs.ui.VcsBalloonProblemNotifier;
 import com.intellij.openapi.vcs.versionBrowser.CommittedChangeList;
 import com.intellij.openapi.vfs.VirtualFile;
 import com.intellij.util.containers.CacheOneStepIterator;
+import com.intellij.vcsUtil.VcsUtil;
 import org.jetbrains.annotations.NotNull;
 
 import java.io.File;
@@ -114,7 +115,7 @@ class ShowDiffFromAnnotation extends AnAction implements LineNumberListener {
               VcsBalloonProblemNotifier.showOverChangesView(myVcs.getProject(), "Can not load data for show diff", MessageType.ERROR);
               return;
             }
-            targetPath[0] = pair.getSecond() == null ? new FilePathImpl(myFile) : pair.getSecond();
+            targetPath[0] = pair.getSecond() == null ? VcsUtil.getFilePath(myFile) : pair.getSecond();
             final CommittedChangeList cl = pair.getFirst();
             changes.addAll(cl.getChanges());
             Collections.sort(changes, ChangesComparator.getInstance(true));
index c86b135a7832a7763ad0fc90c120c5cec84ab5fb..5f5f054f926df5281cfb15b65a07fbc89cbd85e5 100644 (file)
@@ -22,6 +22,7 @@ import com.intellij.openapi.vcs.*;
 import com.intellij.openapi.vcs.history.VcsHistoryProvider;
 import com.intellij.openapi.vfs.LocalFileSystem;
 import com.intellij.openapi.vfs.VirtualFile;
+import com.intellij.vcsUtil.VcsUtil;
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
 
@@ -73,7 +74,7 @@ public class TabbedShowHistoryAction extends AbstractVcsAction {
     if (virtualFileArray.length != 0) {
       if (virtualFileArray.length > 1) return null;
       if (virtualFileArray.length > 0) {
-        result = new FilePathImpl(virtualFileArray[0]);
+        result = VcsUtil.getFilePath(virtualFileArray[0]);
       }
     }
 
index d18be5f4942cc1b03899661afbe3232a9df3ac80..45651fb8664853a247300d90c9455a4070a7f049 100644 (file)
@@ -21,13 +21,13 @@ import com.intellij.openapi.actionSystem.DataContext;
 import com.intellij.openapi.editor.Editor;
 import com.intellij.openapi.project.Project;
 import com.intellij.openapi.vcs.FilePath;
-import com.intellij.openapi.vcs.FilePathImpl;
 import com.intellij.openapi.vcs.VcsDataKeys;
 import com.intellij.openapi.vcs.changes.Change;
 import com.intellij.openapi.vcs.changes.ChangeList;
 import com.intellij.openapi.vcs.ui.Refreshable;
 import com.intellij.openapi.vfs.VfsUtilCore;
 import com.intellij.openapi.vfs.VirtualFile;
+import com.intellij.vcsUtil.VcsUtil;
 import gnu.trove.THashSet;
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
@@ -170,14 +170,14 @@ public class VcsContextWrapper implements VcsContext {
 
     VirtualFile[] selectedFiles = getSelectedFiles();
     for (VirtualFile selectedFile : selectedFiles) {
-      FilePathImpl filePath = new FilePathImpl(selectedFile);
+      FilePath filePath = VcsUtil.getFilePath(selectedFile);
       result.add(filePath);
     }
 
     File[] selectedIOFiles = getSelectedIOFiles();
     if (selectedIOFiles != null){
       for (File selectedFile : selectedIOFiles) {
-        FilePathImpl filePath = FilePathImpl.create(selectedFile);
+        FilePath filePath = VcsUtil.getFilePath(selectedFile);
         if (filePath != null) {
           result.add(filePath);
         }
index 7414b6b5c5346641791e012181f8b942775442cc..8b12bf5c0a451a7c4412e297c13e7fa257e6e3f9 100644 (file)
@@ -17,10 +17,10 @@ package com.intellij.openapi.vcs.changes;
 
 import com.intellij.openapi.project.Project;
 import com.intellij.openapi.vcs.AbstractVcs;
-import com.intellij.openapi.vcs.FilePathImpl;
 import com.intellij.openapi.vcs.ProjectLevelVcsManager;
 import com.intellij.openapi.vfs.VirtualFile;
 import com.intellij.util.Consumer;
+import com.intellij.vcsUtil.VcsUtil;
 
 import java.util.Collection;
 import java.util.Iterator;
@@ -57,7 +57,7 @@ abstract class AbstractIgnoredFilesHolder implements FileHolder, IgnoredFilesHol
   protected boolean isFileDirty(final VcsDirtyScope scope, final VirtualFile file) {
     if (! file.isValid()) return true;
     final AbstractVcs vcsArr[] = new AbstractVcs[1];
-    if (scope.belongsTo(new FilePathImpl(file), new Consumer<AbstractVcs>() {
+    if (scope.belongsTo(VcsUtil.getFilePath(file), new Consumer<AbstractVcs>() {
       @Override
       public void consume(AbstractVcs vcs) {
         vcsArr[0] = vcs;
index c1d56decdc5167b434712368baa38ced0c41608a..014ed013448f9af5b0e1d7bc749513b488e1bcab 100644 (file)
@@ -1158,7 +1158,7 @@ public class ChangeListManagerImpl extends ChangeListManagerEx implements Projec
   @Override
   @NotNull
   public Collection<Change> getChangesIn(VirtualFile dir) {
-    return getChangesIn(new FilePathImpl(dir));
+    return getChangesIn(VcsUtil.getFilePath(dir));
   }
 
   @NotNull
index 60cda57fa3ead4e6ffbdc1d5eaa91919951a5e09..1ce2281a623999034f89bd4008d1615c75285f43 100644 (file)
@@ -785,7 +785,7 @@ public class ChangeListWorker implements ChangeListsWriteOperations {
     @Deprecated
     @Override
     public FileStatus getStatus(File file) {
-      return myWorker.getStatus(new FilePathImpl(file, file.isDirectory()));
+      return myWorker.getStatus(VcsUtil.getFilePath(file, file.isDirectory()));
     }
 
     @Override
index aae32d66f9f23772119e6e4f152678d64abb59da..b35b3aa12aa71cbae141299d50239043a0cb4882 100644 (file)
@@ -16,8 +16,8 @@
 package com.intellij.openapi.vcs.changes;
 
 import com.intellij.openapi.fileTypes.FileTypeManager;
-import com.intellij.openapi.vcs.FilePathImpl;
 import com.intellij.openapi.vcs.VcsRoot;
+import com.intellij.vcsUtil.VcsUtil;
 
 import java.util.Collection;
 import java.util.HashSet;
@@ -59,12 +59,12 @@ public class DirtBuilder implements DirtBuilderReader {
 
   public void addDirtyFile(final VcsRoot root) {
     if (myFileTypeManager.isFileIgnored(root.getPath().getName())) return;
-    myFiles.add(new FilePathUnderVcs(new FilePathImpl(root.getPath()), root.getVcs()));
+    myFiles.add(new FilePathUnderVcs(VcsUtil.getFilePath(root.getPath()), root.getVcs()));
   }
 
   public void addDirtyDirRecursively(final VcsRoot root) {
     if (myFileTypeManager.isFileIgnored(root.getPath().getName())) return;
-    myDirs.add(new FilePathUnderVcs(new FilePathImpl(root.getPath()), root.getVcs()));
+    myDirs.add(new FilePathUnderVcs(VcsUtil.getFilePath(root.getPath()), root.getVcs()));
   }
 
   public void addDirtyFile(final FilePathUnderVcs root) {
index 969077f9bd28aa81d251fec88911851a62d064eb..556fdfae503798a70100bef78444cdd310a9b731 100644 (file)
@@ -28,6 +28,7 @@ import com.intellij.openapi.vcs.history.VcsRevisionNumber;
 import com.intellij.openapi.vfs.LocalFileSystem;
 import com.intellij.openapi.vfs.VirtualFile;
 import com.intellij.util.Consumer;
+import com.intellij.vcsUtil.VcsUtil;
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
 
@@ -202,7 +203,7 @@ public class RemoteRevisionsNumbersCache implements ChangesOnServerTracker {
 
   @Nullable
   private VirtualFile getRootForPath(final String s) {
-    return myVcsManager.getVcsRootFor(new FilePathImpl(new File(s), false));
+    return myVcsManager.getVcsRootFor(VcsUtil.getFilePath(s, false));
   }
 
   public void minus(Pair<String, AbstractVcs> pair) {
@@ -253,7 +254,7 @@ public class RemoteRevisionsNumbersCache implements ChangesOnServerTracker {
       final DiffProvider diffProvider = myVcsRoot.getVcs().getDiffProvider();
       if (vf == null) {
         // doesnt matter if directory or not
-        state = diffProvider.getLastRevision(FilePathImpl.createForDeletedFile(new File(s), false));
+        state = diffProvider.getLastRevision(VcsUtil.getFilePath(s, false));
       } else {
         state = diffProvider.getLastRevision(vf);
       }
index d5e197604171d5e293c72df626a9351624273033..e50c4cad62bb2b5e520131ecc12adac908759bd0 100644 (file)
@@ -20,6 +20,7 @@ import com.intellij.openapi.util.Pair;
 import com.intellij.openapi.vcs.*;
 import com.intellij.openapi.vfs.VirtualFile;
 import com.intellij.util.containers.MultiMap;
+import com.intellij.vcsUtil.VcsUtil;
 import org.jetbrains.annotations.Nullable;
 
 import java.io.File;
@@ -59,7 +60,7 @@ public class RemoteRevisionsStateCache implements ChangesOnServerTracker {
 
   @Nullable
   private VirtualFile getRootForPath(final String s) {
-    return myVcsManager.getVcsRootFor(new FilePathImpl(new File(s), false));
+    return myVcsManager.getVcsRootFor(VcsUtil.getFilePath(s, false));
   }
   
   public boolean isUpToDate(final Change change) {
index 718558b37972e480b00c4d6d42cb29a46fa497fe..bbcece2c60fa2aba5d18efd8755cdf5285f51c6c 100644 (file)
@@ -21,13 +21,13 @@ import com.intellij.openapi.util.Disposer;
 import com.intellij.openapi.util.Getter;
 import com.intellij.openapi.vcs.Details;
 import com.intellij.openapi.vcs.FilePath;
-import com.intellij.openapi.vcs.FilePathImpl;
 import com.intellij.openapi.vcs.GenericDetailsLoader;
 import com.intellij.openapi.vfs.VirtualFile;
 import com.intellij.util.Consumer;
 import com.intellij.util.PairConsumer;
 import com.intellij.util.containers.SLRUMap;
 import com.intellij.vcsUtil.UIVcsUtil;
+import com.intellij.vcsUtil.VcsUtil;
 import org.jetbrains.annotations.Nullable;
 
 import javax.swing.*;
@@ -216,7 +216,7 @@ public class ShortDiffDetails implements RefreshablePanel<Change>, Disposable {
   }
 
   public boolean refreshData(VirtualFile vf) {
-    RefreshablePanel panel = myDetailsCache.get(new FilePathImpl(vf));
+    RefreshablePanel panel = myDetailsCache.get(VcsUtil.getFilePath(vf));
     if (panel != null) {
       panel.dataChanged();
       return true;
index 2740349d2bbe368914fa6a799384e44b3e940970..49bb3d5b69d0da707b3799fe39de8e7ee15c6b54 100644 (file)
@@ -17,11 +17,11 @@ package com.intellij.openapi.vcs.changes;
 
 import com.intellij.openapi.project.Project;
 import com.intellij.openapi.util.Pair;
-import com.intellij.openapi.vcs.FilePathImpl;
 import com.intellij.openapi.vfs.VfsUtil;
 import com.intellij.openapi.vfs.VirtualFile;
 import com.intellij.util.PairProcessor;
 import com.intellij.util.containers.MultiMap;
+import com.intellij.vcsUtil.VcsUtil;
 import org.jetbrains.annotations.Nullable;
 
 import java.util.HashMap;
@@ -49,7 +49,7 @@ public class SwitchedFileHolder extends RecursiveFileHolder<Pair<Boolean, String
   protected boolean isFileDirty(final VcsDirtyScope scope, final VirtualFile file) {
     if (scope == null) return true;
     if (fileDropped(file)) return true;
-    return scope.belongsTo(new FilePathImpl(file));
+    return scope.belongsTo(VcsUtil.getFilePath(file));
   }
 
   public Map<VirtualFile, String> getFilesMapCopy() {
index d06c8f888ad7582c17c5ca260d06e15a894e6234..ad5a45685e9e93af7e066bee17b435a0dd0e979b 100644 (file)
@@ -22,10 +22,10 @@ import com.intellij.openapi.util.Computable;
 import com.intellij.openapi.util.Factory;
 import com.intellij.openapi.util.Getter;
 import com.intellij.openapi.vcs.FilePath;
-import com.intellij.openapi.vcs.FilePathImpl;
 import com.intellij.openapi.vcs.ProjectLevelVcsManager;
 import com.intellij.openapi.vcs.VcsKey;
 import com.intellij.openapi.vfs.VirtualFile;
+import com.intellij.vcsUtil.VcsUtil;
 import org.jetbrains.annotations.Nullable;
 
 import javax.swing.*;
@@ -133,7 +133,7 @@ class UpdatingChangeListBuilder implements ChangelistBuilder {
     if (file == null) return;
     checkIfDisposed();
     if (isIgnoredByVcs(file)) return;
-    if (myScope.belongsTo(new FilePathImpl(file))) {
+    if (myScope.belongsTo(VcsUtil.getFilePath(file))) {
       if (myIgnoredFilesComponent.isIgnoredFile(file)) {
         myComposite.getIgnoredFileHolder().addFile(file);
       }
@@ -165,7 +165,7 @@ class UpdatingChangeListBuilder implements ChangelistBuilder {
     if (file == null) return;
     checkIfDisposed();
     if (isIgnoredByVcs(file)) return;
-    if (myScope.belongsTo(new FilePathImpl(file))) {
+    if (myScope.belongsTo(VcsUtil.getFilePath(file))) {
       if (LOG.isDebugEnabled()) {
         LOG.debug("processModifiedWithoutCheckout " + file);
       }
@@ -177,7 +177,7 @@ class UpdatingChangeListBuilder implements ChangelistBuilder {
     if (file == null) return;
     checkIfDisposed();
     if (isIgnoredByVcs(file)) return;
-    if (myScope.belongsTo(new FilePathImpl(file))) {
+    if (myScope.belongsTo(VcsUtil.getFilePath(file))) {
       IgnoredFilesHolder ignoredFilesHolder = myComposite.getIgnoredFileHolder();
       if (ignoredFilesHolder instanceof IgnoredFilesCompositeHolder) {
         IgnoredFilesHolder holder = ((IgnoredFilesCompositeHolder)ignoredFilesHolder).getAppropriateIgnoredHolder();
@@ -193,7 +193,7 @@ class UpdatingChangeListBuilder implements ChangelistBuilder {
   public void processLockedFolder(final VirtualFile file) {
     if (file == null) return;
     checkIfDisposed();
-    if (myScope.belongsTo(new FilePathImpl(file))) {
+    if (myScope.belongsTo(VcsUtil.getFilePath(file))) {
       if (myFoldersCutDownWorker.addCurrent(file)) {
         myComposite.getVFHolder(FileHolder.HolderType.LOCKED).addFile(file);
       }
@@ -203,7 +203,7 @@ class UpdatingChangeListBuilder implements ChangelistBuilder {
   public void processLogicallyLockedFolder(VirtualFile file, LogicalLock logicalLock) {
     if (file == null) return;
     checkIfDisposed();
-    if (myScope.belongsTo(new FilePathImpl(file))) {
+    if (myScope.belongsTo(VcsUtil.getFilePath(file))) {
       ((LogicallyLockedHolder)myComposite.get(FileHolder.HolderType.LOGICALLY_LOCKED)).add(file, logicalLock);
     }
   }
@@ -212,7 +212,7 @@ class UpdatingChangeListBuilder implements ChangelistBuilder {
     if (file == null) return;
     checkIfDisposed();
     if (isIgnoredByVcs(file)) return;
-    if (myScope.belongsTo(new FilePathImpl(file))) {
+    if (myScope.belongsTo(VcsUtil.getFilePath(file))) {
       myChangeListWorker.addSwitched(file, branch, recursive);
     }
   }
@@ -220,7 +220,7 @@ class UpdatingChangeListBuilder implements ChangelistBuilder {
   public void processRootSwitch(VirtualFile file, String branch) {
     if (file == null) return;
     checkIfDisposed();
-    if (myScope.belongsTo(new FilePathImpl(file))) {
+    if (myScope.belongsTo(VcsUtil.getFilePath(file))) {
       ((SwitchedFileHolder)myComposite.get(FileHolder.HolderType.ROOT_SWITCH)).addFile(file, branch, false);
     }
   }
index 92aff9207c9a95f75fabfb5b52b109874ff2141c..c61c626769c75a00290483a5d5ab805340b0d4b5 100644 (file)
@@ -23,6 +23,7 @@ import com.intellij.openapi.vcs.history.VcsRevisionNumber;
 import com.intellij.openapi.vcs.impl.ContentRevisionCache;
 import com.intellij.openapi.vcs.impl.CurrentRevisionProvider;
 import com.intellij.openapi.vfs.VirtualFile;
+import com.intellij.vcsUtil.VcsUtil;
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
 
@@ -64,7 +65,7 @@ public class VcsCurrentRevisionProxy implements ContentRevision {
 
   @NotNull
   public FilePath getFile() {
-    return new FilePathImpl(myFile);
+    return VcsUtil.getFilePath(myFile);
   }
 
   @NotNull
index 0e78ea3ddb6b5575c40d045621dfb0d4af89852a..fb694a9e8e8cab49aba1f8847af67e9dd94b021b 100644 (file)
@@ -32,6 +32,7 @@ import com.intellij.util.SmartList;
 import com.intellij.util.containers.ContainerUtil;
 import com.intellij.util.containers.Convertor;
 import com.intellij.util.containers.MultiMap;
+import com.intellij.vcsUtil.VcsUtil;
 import gnu.trove.THashSet;
 import org.jetbrains.annotations.NonNls;
 import org.jetbrains.annotations.NotNull;
@@ -148,7 +149,7 @@ public class VcsDirtyScopeImpl extends VcsModifiableDirtyScope {
         VirtualFile vFile = filePath.getVirtualFile();
         if (vFile != null && vFile.isValid() && vFile.isDirectory()) {
           for(VirtualFile child: vFile.getChildren()) {
-            result.add(new FilePathImpl(child));
+            result.add(VcsUtil.getFilePath(child));
           }
         }
       }
@@ -368,7 +369,7 @@ public class VcsDirtyScopeImpl extends VcsModifiableDirtyScope {
         }
       } else if (!dirtyFiles.isEmpty()) {
         VirtualFile parent = newcomer.getVirtualFileParent();
-        if (parent != null && dirtyFiles.contains(new FilePathImpl(parent))) {
+        if (parent != null && dirtyFiles.contains(VcsUtil.getFilePath(parent))) {
           return;
         }
         dirtyFiles.add(newcomer);
@@ -400,7 +401,7 @@ public class VcsDirtyScopeImpl extends VcsModifiableDirtyScope {
           final VirtualFile vFile = file.getVirtualFile();
           if (vFile != null && vFile.isValid() && vFile.isDirectory()) {
             for (VirtualFile child : vFile.getChildren()) {
-              iterator.process(new FilePathImpl(child));
+              iterator.process(VcsUtil.getFilePath(child));
             }
           }
         }
@@ -486,10 +487,10 @@ public class VcsDirtyScopeImpl extends VcsModifiableDirtyScope {
       FilePath parent;
       VirtualFile vParent = path.getVirtualFileParent();
       if (vParent != null && vParent.isValid()) {
-        parent = new FilePathImpl(vParent);
+        parent = VcsUtil.getFilePath(vParent);
       }
       else {
-        parent = FilePathImpl.create(path.getIOFile().getParentFile());
+        parent = VcsUtil.getFilePath(path.getIOFile().getParentFile(), true);
       }
       return isInDirtyFiles(path) || isInDirtyFiles(parent);
     }
index 524c957a04ec38ff0a00ce2ead1357b7d626ddf6..40981a3f96232e1e5a536eae7fd388f162b80f31 100644 (file)
@@ -22,7 +22,6 @@ import com.intellij.openapi.project.ProjectLocator;
 import com.intellij.openapi.util.Couple;
 import com.intellij.openapi.vcs.ConstantZipperUpdater;
 import com.intellij.openapi.vcs.FilePath;
-import com.intellij.openapi.vcs.FilePathImpl;
 import com.intellij.openapi.vfs.VirtualFile;
 import com.intellij.openapi.vfs.VirtualFileManager;
 import com.intellij.openapi.vfs.newvfs.BulkFileListener;
@@ -209,8 +208,8 @@ public class VcsDirtyScopeVfsListener implements ApplicationComponent, BulkFileL
       if (file == null) { return; }
       final boolean isDirectory = file.isDirectory();
       // need to create FilePath explicitly without referring to VirtualFile because the path of VirtualFile may change
-      final FilePathImpl path = forDelete ? new FilePathImpl(new File(file.getPath()), isDirectory) :
-        new FilePathImpl(file);
+      FilePath path = forDelete ? VcsUtil.getFilePath(new File(file.getPath()), isDirectory) :
+                                VcsUtil.getFilePath(file);
 
       final Collection<VcsDirtyScopeManager> managers = getManagers(file);
       for (VcsDirtyScopeManager manager : managers) {
index 1891a15928f340984415963707a682104b988ee7..0fa72de0e0a6aaabfe187a66f029f8c62af50eb2 100644 (file)
@@ -20,8 +20,8 @@ import com.intellij.openapi.project.Project;
 import com.intellij.openapi.util.Computable;
 import com.intellij.openapi.vcs.AbstractVcs;
 import com.intellij.openapi.vcs.FilePath;
-import com.intellij.openapi.vcs.FilePathImpl;
 import com.intellij.openapi.vfs.VirtualFile;
+import com.intellij.vcsUtil.VcsUtil;
 
 import java.util.*;
 
@@ -80,7 +80,7 @@ public class VirtualFileHolder implements FileHolder {
               final VirtualFile file = iterator.next();
               if (fileDropped(file)) {
                 iterator.remove();
-                scope.addDirtyFile(new FilePathImpl(file));
+                scope.addDirtyFile(VcsUtil.getFilePath(file));
                 if (file.isDirectory()) ++ result;
               }
             }
@@ -91,9 +91,9 @@ public class VirtualFileHolder implements FileHolder {
             final VirtualFile file = iterator.next();
             final boolean fileDropped = fileDropped(file);
             if (fileDropped) {
-              scope.addDirtyFile(new FilePathImpl(file));
+              scope.addDirtyFile(VcsUtil.getFilePath(file));
             }
-            if (fileDropped || scope.belongsTo(new FilePathImpl(file))) {
+            if (fileDropped || scope.belongsTo(VcsUtil.getFilePath(file))) {
               iterator.remove();
               if (file.isDirectory()) ++ result;
             }
index 2e8937b43ea67fc4a36bc1dc010e50038f727d57..1c1d44b7599ed4cac36cdaf0222acbd64e7072e3 100644 (file)
@@ -30,6 +30,7 @@ import com.intellij.openapi.vcs.ui.VcsBalloonProblemNotifier;
 import com.intellij.openapi.vfs.VirtualFile;
 import com.intellij.openapi.wm.ToolWindow;
 import com.intellij.openapi.wm.ToolWindowManager;
+import com.intellij.vcsUtil.VcsUtil;
 import gnu.trove.THashSet;
 import org.jetbrains.annotations.Nullable;
 
@@ -97,7 +98,7 @@ public class MoveChangesToAnotherListAction extends AnAction implements DumbAwar
             unversionedFiles.add(vFile);
             if (changedFiles != null) changedFiles.add(vFile);
           } else if (FileStatus.NOT_CHANGED.equals(status) && vFile.isDirectory()) {
-            addAllChangesUnderPath(changedFiles, changeListManager, changesInFiles, new FilePathImpl(vFile));
+            addAllChangesUnderPath(changedFiles, changeListManager, changesInFiles, VcsUtil.getFilePath(vFile));
           }
           continue;
         }
index a10d03aad1b33088873ee27fd16c473a0b5feb2c..2c89c388bfe0c6a13b35bc324b6662854060e35f 100644 (file)
@@ -33,6 +33,7 @@ import com.intellij.openapi.vcs.versionBrowser.CommittedChangeList;
 import com.intellij.openapi.vfs.VirtualFile;
 import com.intellij.util.Function;
 import com.intellij.util.containers.ContainerUtil;
+import com.intellij.vcsUtil.VcsUtil;
 import org.jetbrains.annotations.NonNls;
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
@@ -80,7 +81,7 @@ public class ChangesCacheFile {
     myVcs = vcs;
     myChangesProvider = (CachingCommittedChangesProvider) vcs.getCommittedChangesProvider();
     myVcsManager = ProjectLevelVcsManager.getInstance(project);
-    myRootPath = new FilePathImpl(root);
+    myRootPath = VcsUtil.getFilePath(root);
     myLocation = location;
   }
 
@@ -602,7 +603,7 @@ public class ChangesCacheFile {
     final List<Pair<String,VcsRevisionNumber>> list = group.getFilesAndRevisions(myVcsManager);
     for(Pair<String, VcsRevisionNumber> pair: list) {
       final String file = pair.first;
-      FilePath path = new FilePathImpl(new File(file), false);
+      FilePath path = VcsUtil.getFilePath(file, false);
       if (!path.isUnder(myRootPath, false) || pair.second == null) {
         continue;
       }
index 3e07c3d179654cd0250a83ced5debd363d948401..e527e22ad6766e6c0e40f9097d51e961f1db565f 100644 (file)
@@ -21,6 +21,7 @@ import com.intellij.openapi.vcs.*;
 import com.intellij.openapi.vfs.LocalFileSystem;
 import com.intellij.openapi.vfs.VirtualFile;
 import com.intellij.util.containers.ContainerUtil;
+import com.intellij.vcsUtil.VcsUtil;
 
 import java.util.*;
 
@@ -67,7 +68,7 @@ public class RootsCalculator {
     final Map<VirtualFile, RepositoryLocation> result = new HashMap<VirtualFile, RepositoryLocation>();
     for (Iterator<VirtualFile> iterator = roots.iterator(); iterator.hasNext();) {
       final VirtualFile vf = iterator.next();
-      final RepositoryLocation location = myLocationCache.getLocation(myVcs, new FilePathImpl(vf), false);
+      final RepositoryLocation location = myLocationCache.getLocation(myVcs, VcsUtil.getFilePath(vf), false);
       if (location != null) {
         result.put(vf, location);
       }
index f7fbe4c9980d644e4cd553ba5a1bf78167ece782..0ce41c6adf80c4cee4461db7dcec4ae1bdd82d6f 100644 (file)
@@ -25,7 +25,6 @@ package com.intellij.openapi.vcs.changes.patch;
 import com.intellij.openapi.actionSystem.ActionPlaces;
 import com.intellij.openapi.actionSystem.AnActionEvent;
 import com.intellij.openapi.actionSystem.CommonDataKeys;
-import com.intellij.openapi.actionSystem.PlatformDataKeys;
 import com.intellij.openapi.application.Application;
 import com.intellij.openapi.application.ApplicationManager;
 import com.intellij.openapi.diagnostic.Logger;
@@ -48,7 +47,6 @@ import com.intellij.openapi.ui.Messages;
 import com.intellij.openapi.util.Computable;
 import com.intellij.openapi.util.Getter;
 import com.intellij.openapi.util.io.FileUtil;
-import com.intellij.openapi.vcs.FilePathImpl;
 import com.intellij.openapi.vcs.VcsApplicationSettings;
 import com.intellij.openapi.vcs.VcsBundle;
 import com.intellij.openapi.vcs.changes.ChangeListManager;
@@ -57,6 +55,7 @@ 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.vcsUtil.VcsUtil;
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
 
@@ -147,7 +146,7 @@ public class ApplyPatchAction extends DumbAwareAction {
       @Override
       public ApplyFilePatch.Result compute() {
         try {
-          return patch.apply(file, context, project, new FilePathImpl(file), new Getter<CharSequence>() {
+          return patch.apply(file, context, project, VcsUtil.getFilePath(file), new Getter<CharSequence>() {
             @Override
             public CharSequence get() {
               return getBaseContents((TextFilePatch)patchBase, commitContext, project);
index 29bba8972c5ba9ab71520ce6872adbc8bdf3b333..9c1461c8e25d447a7a10bedb8d2e5cf1a791d5cb 100644 (file)
@@ -169,9 +169,9 @@ public class FilePatchInProgress implements Strippable {
       } else {
         final FilePath newFilePath;
         if (FilePatchStatus.MOVED_OR_RENAMED.equals(myStatus)) {
-          newFilePath = new FilePathImpl(PathMerger.getFile(new File(myBase.getPath()), myPatch.getAfterName()), false);
+          newFilePath = VcsUtil.getFilePath(PathMerger.getFile(new File(myBase.getPath()), myPatch.getAfterName()), false);
         } else {
-          newFilePath = (myCurrentBase != null) ? new FilePathImpl(myCurrentBase) : new FilePathImpl(myIoCurrentBase, false);
+          newFilePath = (myCurrentBase != null) ? VcsUtil.getFilePath(myCurrentBase) : VcsUtil.getFilePath(myIoCurrentBase, false);
         }
         myNewContentRevision = new LazyPatchContentRevision(myCurrentBase, newFilePath, myPatch.getAfterVersionId(), myPatch);
         if (myCurrentBase != null) {
@@ -201,7 +201,7 @@ public class FilePatchInProgress implements Strippable {
   public ContentRevision getCurrentRevision() {
     if (FilePatchStatus.ADDED.equals(myStatus)) return null; 
     if (myCurrentRevision == null) {
-      final FilePathImpl filePath = (myCurrentBase != null) ? new FilePathImpl(myCurrentBase) : new FilePathImpl(myIoCurrentBase, false);
+      FilePath filePath = (myCurrentBase != null) ? VcsUtil.getFilePath(myCurrentBase) : VcsUtil.getFilePath(myIoCurrentBase, false);
       myCurrentRevision = new CurrentContentRevision(filePath);
     }
     return myCurrentRevision;
@@ -231,7 +231,8 @@ public class FilePatchInProgress implements Strippable {
               @Override
               public ApplyPatchForBaseRevisionTexts get() {
                 return ApplyPatchForBaseRevisionTexts.create(project, myPatchInProgress.getCurrentBase(),
-                          new FilePathImpl(myPatchInProgress.getCurrentBase()), myPatchInProgress.getPatch(), baseContents);
+                                                             VcsUtil.getFilePath(myPatchInProgress.getCurrentBase()),
+                                                             myPatchInProgress.getPatch(), baseContents);
               }
             };
             return new MergedDiffRequestPresentable(project, revisionTextsGetter,
index c5283d9ea5b887f8fe43b8ed18e18ee4a98b270e..587317aec210f1c6a44595cd0c941d75687ba3f9 100644 (file)
@@ -21,7 +21,7 @@ import com.intellij.openapi.util.DefaultJDOMExternalizer;
 import com.intellij.openapi.util.InvalidDataException;
 import com.intellij.openapi.util.JDOMExternalizable;
 import com.intellij.openapi.util.WriteExternalException;
-import com.intellij.openapi.vcs.FilePathImpl;
+import com.intellij.openapi.vcs.FilePath;
 import com.intellij.openapi.vcs.FileStatus;
 import com.intellij.openapi.vcs.VcsBundle;
 import com.intellij.openapi.vcs.changes.Change;
@@ -29,6 +29,7 @@ import com.intellij.openapi.vcs.changes.ContentRevision;
 import com.intellij.openapi.vcs.changes.CurrentBinaryContentRevision;
 import com.intellij.openapi.vcs.changes.TextRevisionNumber;
 import com.intellij.openapi.vcs.history.VcsRevisionNumber;
+import com.intellij.vcsUtil.VcsUtil;
 import org.jdom.Element;
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
@@ -76,7 +77,7 @@ public class ShelvedBinaryFile implements JDOMExternalizable {
     ContentRevision after = null;
     final File baseDir = new File(project.getBaseDir().getPath());
     if (BEFORE_PATH != null) {
-      final FilePathImpl file = new FilePathImpl(new File(baseDir, BEFORE_PATH), false);
+      final FilePath file = VcsUtil.getFilePath(new File(baseDir, BEFORE_PATH), false);
       file.refresh();
       before = new CurrentBinaryContentRevision(file) {
         @NotNull
@@ -87,7 +88,7 @@ public class ShelvedBinaryFile implements JDOMExternalizable {
       };
     }
     if (AFTER_PATH != null) {
-      final FilePathImpl file = new FilePathImpl(new File(baseDir, AFTER_PATH), false);
+      final FilePath file = VcsUtil.getFilePath(new File(baseDir, AFTER_PATH), false);
       file.refresh();
       after = new ShelvedBinaryContentRevision(file, SHELVED_PATH);
     }
index 32265fffa2f00fa7227757e5ec32a69aac39b2ee..4e2bc09fd4165336be51ba07f8251a06f92dcb00 100644 (file)
@@ -38,6 +38,7 @@ import com.intellij.openapi.vcs.changes.*;
 import com.intellij.openapi.vcs.history.VcsRevisionNumber;
 import com.intellij.openapi.vfs.LocalFileSystem;
 import com.intellij.openapi.vfs.VirtualFile;
+import com.intellij.vcsUtil.VcsUtil;
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
 
@@ -129,7 +130,7 @@ public class ShelvedChange {
       File baseDir = new File(project.getBaseDir().getPath());
 
       File file = getAbsolutePath(baseDir, myBeforePath);
-      final FilePathImpl beforePath = new FilePathImpl(file, false);
+      FilePath beforePath = VcsUtil.getFilePath(file, false);
       beforePath.refresh();
       ContentRevision beforeRevision = null;
       if (myFileStatus != FileStatus.ADDED) {
@@ -143,7 +144,7 @@ public class ShelvedChange {
       }
       ContentRevision afterRevision = null;
       if (myFileStatus != FileStatus.DELETED) {
-        final FilePathImpl afterPath = new FilePathImpl(getAbsolutePath(baseDir, myAfterPath), false);
+        FilePath afterPath = VcsUtil.getFilePath(getAbsolutePath(baseDir, myAfterPath), false);
         afterRevision = new PatchedContentRevision(project, beforePath, afterPath);
       }
       myChange = new Change(beforeRevision, afterRevision, myFileStatus);
index 21e8237c63425cc23caf59ee7ca2aa3a154a8852..0d2d538adcb2d50e524e0cbebc611178e5b652c7 100644 (file)
@@ -23,6 +23,7 @@ import com.intellij.openapi.vcs.FilePath;
 import com.intellij.openapi.vcs.FilePathImpl;
 import com.intellij.openapi.vfs.VirtualFile;
 import com.intellij.ui.SimpleTextAttributes;
+import com.intellij.vcsUtil.VcsUtil;
 
 /**
  * @author yole
@@ -69,7 +70,7 @@ public class ChangesBrowserModuleNode extends ChangesBrowserNode<Module> {
     final VirtualFile[] files = ModuleRootManager.getInstance(getUserObject()).getContentRoots();
     final FilePath[] result = new FilePath[files.length];
     for(int i=0; i<files.length; i++) {
-      result [i] = new FilePathImpl(files [i]);
+      result [i] = VcsUtil.getFilePath(files[i]);
     }
     return result;
   }
index 623289a5efd6040ebde0957c0f5a729c4120cf75..6e6b800aa4d78e50e34c13e82f4a8b919d8ae1a2 100644 (file)
@@ -42,6 +42,7 @@ import com.intellij.util.containers.Convertor;
 import com.intellij.util.containers.MultiMap;
 import com.intellij.util.ui.UIUtil;
 import com.intellij.util.ui.tree.TreeUtil;
+import com.intellij.vcsUtil.VcsUtil;
 import org.jetbrains.annotations.NonNls;
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
@@ -403,7 +404,7 @@ public class ChangesListView extends Tree implements TypeSafeDataProvider, Advan
           final VcsCurrentRevisionProxy before =
             VcsCurrentRevisionProxy.create(file, myProject, vcs.getKeyInstanceMethod());
           if (before != null) {
-            ContentRevision afterRevision = new CurrentContentRevision(new FilePathImpl(file));
+            ContentRevision afterRevision = new CurrentContentRevision(VcsUtil.getFilePath(file));
             changes.add(new Change(before, afterRevision, FileStatus.HIJACKED));
           }
         }
index 48a17aeaa31a4a319f244d15a4d2ad8a2b1c43d1..b892cb719c34ec0a33b6bd962b81250c3842afb6 100644 (file)
@@ -21,7 +21,6 @@ import com.intellij.openapi.util.Pair;
 import com.intellij.openapi.util.Trinity;
 import com.intellij.openapi.util.io.FileUtil;
 import com.intellij.openapi.vcs.FilePath;
-import com.intellij.openapi.vcs.FilePathImpl;
 import com.intellij.openapi.vcs.FileStatus;
 import com.intellij.openapi.vcs.VcsBundle;
 import com.intellij.openapi.vcs.changes.*;
@@ -315,7 +314,7 @@ public class TreeModelBuilder {
     
     for (VirtualFile vf : files) {
       final ChangesGroupingPolicy policy = createGroupingPolicy();
-      final ContentRevision cr = new CurrentContentRevision(new FilePathImpl(vf));
+      final ContentRevision cr = new CurrentContentRevision(VcsUtil.getFilePath(vf));
       final Change change = new Change(cr, cr, FileStatus.NOT_CHANGED);
       final String branchName = switchedRoots.get(vf);
       insertChangeNode(vf, policy, rootsHeadNode, new Computable<ChangesBrowserNode>() {
@@ -472,12 +471,12 @@ public class TreeModelBuilder {
       return ChangesUtil.getFilePath((Change)o);
     }
     else if (o instanceof VirtualFile) {
-      return new FilePathImpl((VirtualFile) o);
+      return VcsUtil.getFilePath((VirtualFile) o);
     }
     else if (o instanceof FilePath) {
       return (FilePath)o;
     } else if (o instanceof ChangesBrowserLogicallyLockedFile) {
-      return new FilePathImpl(((ChangesBrowserLogicallyLockedFile) o).getUserObject());
+      return VcsUtil.getFilePath(((ChangesBrowserLogicallyLockedFile) o).getUserObject());
     } else if (o instanceof LocallyDeletedChange) {
       return ((LocallyDeletedChange) o).getPath();
     }
@@ -504,7 +503,7 @@ public class TreeModelBuilder {
 
     ChangesBrowserNode parentNode = myFoldersCache.get(parentPath.getKey());
     if (parentNode == null) {
-      FilePathImpl filePath = parentPath.getVf() == null ? new FilePathImpl(new File(parentPath.getPath()), true) : new FilePathImpl(parentPath.getVf());
+      FilePath filePath = parentPath.getVf() == null ? VcsUtil.getFilePath(parentPath.getPath(), true) : VcsUtil.getFilePath(parentPath.getVf());
       parentNode = ChangesBrowserNode.create(myProject, filePath);
       ChangesBrowserNode grandPa = getParentNodeFor(parentPath, policy, rootNode);
       model.insertNodeInto(parentNode, grandPa, grandPa.getChildCount());
index 79c5f76438dd5c2c7747efd91679232bb0d09c2e..8270a93b99a7df95127d55f87bb63dc9dd1824b1 100644 (file)
@@ -76,6 +76,7 @@ import com.intellij.util.Consumer;
 import com.intellij.util.ui.ConfirmationDialog;
 import com.intellij.util.ui.ErrorTreeView;
 import com.intellij.util.ui.MessageCategory;
+import com.intellij.vcsUtil.VcsUtil;
 import org.jetbrains.annotations.Nls;
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
@@ -599,8 +600,8 @@ public class AbstractVcsHelperImpl extends AbstractVcsHelper {
                                       final ChangeBrowserSettings settings,
                                       final int maxCount,
                                       String title) {
-    final RepositoryLocation location = CommittedChangesCache.getInstance(myProject).getLocationCache().getLocation(vcs, new FilePathImpl(root),
-                                                                                                                    false);
+    RepositoryLocationCache cache = CommittedChangesCache.getInstance(myProject).getLocationCache();
+    RepositoryLocation location = cache.getLocation(vcs, VcsUtil.getFilePath(root), false);
     openCommittedChangesTab(vcs.getCommittedChangesProvider(), location, settings, maxCount, title);
   }
 
index f87afb06582845b13f3c6ff104ff6f7d828cf02f..96de20a0ff857e1e3e2cf2587965265eacc005b0 100644 (file)
@@ -17,7 +17,7 @@ package com.intellij.openapi.vcs.impl;
 
 import com.intellij.openapi.project.Project;
 import com.intellij.openapi.vcs.AbstractVcs;
-import com.intellij.openapi.vcs.FilePathImpl;
+import com.intellij.openapi.vcs.FilePath;
 import com.intellij.openapi.vcs.changes.DirtBuilder;
 import com.intellij.openapi.vcs.changes.FilePathUnderVcs;
 import com.intellij.openapi.vcs.changes.VcsGuess;
@@ -25,6 +25,7 @@ import com.intellij.openapi.vcs.impl.projectlevelman.NewMappings;
 import com.intellij.openapi.vfs.VfsUtil;
 import com.intellij.openapi.vfs.VirtualFile;
 import com.intellij.platform.ProjectBaseDirectory;
+import com.intellij.vcsUtil.VcsUtil;
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
 
@@ -64,7 +65,7 @@ public class BasicDefaultVcsRootPolicy extends DefaultVcsRootPolicy {
   }
 
   public void markDefaultRootsDirty(final DirtBuilder builder, final VcsGuess vcsGuess) {
-    final FilePathImpl fp = new FilePathImpl(ProjectBaseDirectory.getInstance(myProject).getBaseDir(myBaseDir));
+    FilePath fp = VcsUtil.getFilePath(ProjectBaseDirectory.getInstance(myProject).getBaseDir(myBaseDir));
     final AbstractVcs vcs = vcsGuess.getVcsForDirty(fp);
     if (vcs != null) {
       builder.addDirtyDirRecursively(new FilePathUnderVcs(fp, vcs));
index 3b22183fb7be44395c10b1046bfb008616045054..9dcb415698ac2c2adb44f51a9d6e2dc0162f7c06 100644 (file)
@@ -27,6 +27,7 @@ import com.intellij.openapi.vfs.VirtualFile;
 import com.intellij.openapi.vfs.VirtualFileVisitor;
 import com.intellij.util.Processor;
 import com.intellij.util.StringLenComparator;
+import com.intellij.vcsUtil.VcsUtil;
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
 
@@ -187,7 +188,7 @@ public class VcsRootIterator {
 
     private boolean process(VirtualFile current) {
       if (myPathProcessor != null) {
-        return myPathProcessor.process(new FilePathImpl(current));
+        return myPathProcessor.process(VcsUtil.getFilePath(current));
       }
       else if (myFileProcessor != null) {
         return myFileProcessor.process(current);
index 68254c2590d7a6fae3cd2450a9703dc298213f6c..77bbe07d202ff9e8a923b25983c0790042219352 100644 (file)
@@ -17,9 +17,9 @@ package com.intellij.openapi.vcs.readOnlyHandler;
 
 import com.intellij.openapi.project.Project;
 import com.intellij.openapi.vcs.AbstractVcs;
-import com.intellij.openapi.vcs.FilePathImpl;
 import com.intellij.openapi.vcs.ProjectLevelVcsManager;
 import com.intellij.openapi.vfs.VirtualFile;
+import com.intellij.vcsUtil.VcsUtil;
 import org.jetbrains.annotations.Nullable;
 
 /**
@@ -37,7 +37,7 @@ public class VcsHandleTypeFactory implements HandleTypeFactory {
     if (! myProject.isInitialized()) return null;
     AbstractVcs vcs = ProjectLevelVcsManager.getInstance(myProject).getVcsFor(file);
     if (vcs != null) {
-      boolean fileExistsInVcs = vcs.fileExistsInVcs(new FilePathImpl(file));
+      boolean fileExistsInVcs = vcs.fileExistsInVcs(VcsUtil.getFilePath(file));
       if (fileExistsInVcs && vcs.getEditFileProvider() != null) {
         return new VcsHandleType(vcs);
       }
index e0d2602670a64bc51f209f9b81eb449e38cbba72..44ae2236a1f6bdaee71a4fab9d9534851f03fbcb 100644 (file)
@@ -19,6 +19,7 @@ import com.intellij.openapi.project.Project;
 import com.intellij.openapi.vcs.*;
 import com.intellij.openapi.vcs.actions.VcsContext;
 import com.intellij.openapi.vfs.VirtualFile;
+import com.intellij.vcsUtil.VcsUtil;
 
 import java.util.ArrayList;
 
@@ -45,7 +46,7 @@ public interface ScopeInfo {
         if (actionInfo.getEnvironment(vcs) != null) {
           final VirtualFile[] files = vcsManager.getRootsUnderVcs(vcs);
           for(VirtualFile file: files) {
-            result.add(new FilePathImpl(file));
+            result.add(VcsUtil.getFilePath(file));
           }
         }
       }
index 27da3bba1b802e93628f757f3eff8112f9f4da7b..ccd732f8ec9f23802d0e6cb856189eadf7447283 100644 (file)
@@ -34,6 +34,7 @@ import com.intellij.openapi.vcs.history.VcsRevisionNumber;
 import com.intellij.openapi.vfs.VirtualFile;
 import com.intellij.openapi.vfs.encoding.EncodingProjectManager;
 import com.intellij.openapi.vfs.pointers.VirtualFilePointer;
+import com.intellij.vcsUtil.VcsUtil;
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
 
@@ -180,9 +181,9 @@ public class ShowUpdatedDiffAction extends AnAction implements DumbAware {
     public FilePath getFile() {
       final VirtualFile vf = myPointer.getFile();
       if (vf != null) {
-        return new FilePathImpl(vf);
+        return VcsUtil.getFilePath(vf);
       }
-      return new FilePathImpl(new File(myPointer.getPresentableUrl()), false);
+      return VcsUtil.getFilePath(new File(myPointer.getPresentableUrl()), false);
     }
 
     @NotNull
index cd00c8f74afce709776de223d178300d2cc38551..1ad2f8453f7169c6e168c10cfc66dbcffd59e805 100644 (file)
@@ -15,6 +15,7 @@ import com.intellij.openapi.vfs.VirtualFile;
 import com.intellij.testFramework.PlatformTestCase;
 import com.intellij.testFramework.VfsTestUtil;
 import com.intellij.testFramework.vcs.MockChangeListManager;
+import com.intellij.vcsUtil.VcsUtil;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -114,7 +115,7 @@ public class LocalChangesUnderRootsTest extends PlatformTestCase {
 
   private Change createChangeForPath(String path) {
     VirtualFile file = VfsTestUtil.createFile(myBaseDir, path);
-    FilePath filePath = new FilePathImpl(file);
+    FilePath filePath = VcsUtil.getFilePath(file);
     ContentRevision beforeRevision = new MockContentRevision(filePath, new VcsRevisionNumber.Int(1));
     ContentRevision afterRevision = new MockContentRevision(filePath, new VcsRevisionNumber.Int(2));
     return new Change(beforeRevision, afterRevision);
index 682dcc51b1a0144ddd137606a5fe057f925484fe..b393b2557e70c8b697885ae50e819f31d8421ae5 100644 (file)
@@ -17,8 +17,8 @@ package com.intellij.openapi.vcs.changes.ui;
 
 import com.intellij.openapi.util.text.StringUtil;
 import com.intellij.openapi.vcs.FilePath;
-import com.intellij.openapi.vcs.FilePathImpl;
 import com.intellij.openapi.vcs.changes.HierarchicalFilePathComparator;
+import com.intellij.vcsUtil.VcsUtil;
 import org.jetbrains.annotations.NotNull;
 import org.junit.Test;
 
@@ -97,7 +97,7 @@ public class HierarchicalFilePathComparatorTest {
 
   @NotNull
   private static FilePath filePath(@NotNull String path) throws Exception {
-    return new FilePathImpl(new File(path), StringUtil.endsWithChar(path, '/'));
+    return VcsUtil.getFilePath(new File(path), StringUtil.endsWithChar(path, '/'));
   }
 
 }
index 263c25b184b8ae1b5ae29ce09db0cbb2e7d2c015..f44d6a1acc6e4c460febaf536f8342a897cfee75 100644 (file)
@@ -17,13 +17,13 @@ package com.intellij.testFramework.vcs;
 
 import com.intellij.openapi.application.ModalityState;
 import com.intellij.openapi.vcs.FilePath;
-import com.intellij.openapi.vcs.FilePathImpl;
 import com.intellij.openapi.vcs.FileStatus;
 import com.intellij.openapi.vcs.changes.*;
 import com.intellij.openapi.vfs.VirtualFile;
 import com.intellij.util.Consumer;
 import com.intellij.util.ThreeState;
 import com.intellij.util.continuation.ContinuationPause;
+import com.intellij.vcsUtil.VcsUtil;
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
 import org.jetbrains.annotations.TestOnly;
@@ -168,7 +168,7 @@ public class MockChangeListManager extends ChangeListManagerEx {
 
   @Override
   public Change getChange(@NotNull VirtualFile file) {
-    return getChange(new FilePathImpl(file));
+    return getChange(VcsUtil.getFilePath(file));
   }
 
   @Override
@@ -202,7 +202,7 @@ public class MockChangeListManager extends ChangeListManagerEx {
   @NotNull
   @Override
   public Collection<Change> getChangesIn(VirtualFile dir) {
-    return getChangesIn(new FilePathImpl(dir));
+    return getChangesIn(VcsUtil.getFilePath(dir));
   }
 
   @NotNull
index 8dd85b16798059b444533db18f8fb9b0fb699bdb..989eaa8c74f3e8297f20aec9ffb38bfe89d4cb46 100644 (file)
@@ -135,7 +135,7 @@ public class GitContentRevision implements ContentRevision {
                                                boolean isDeleted, final boolean canBeDeleted, boolean unescapePath) throws VcsException {
     final FilePath file;
     if (project.isDisposed()) {
-      file = new FilePathImpl(new File(makeAbsolutePath(vcsRoot, path, unescapePath)), false);
+      file = VcsUtil.getFilePath(new File(makeAbsolutePath(vcsRoot, path, unescapePath)), false);
     } else {
       file = createPath(vcsRoot, path, isDeleted, canBeDeleted, unescapePath);
     }
@@ -158,7 +158,7 @@ public class GitContentRevision implements ContentRevision {
     if (revisionNumber == null) {
       File file = new File(makeAbsolutePath(vcsRoot, path, unescapePath));
       VirtualFile virtualFile = LocalFileSystem.getInstance().refreshAndFindFileByIoFile(file);
-      filePath = virtualFile == null ? new FilePathImpl(file, false) : new FilePathImpl(virtualFile);
+      filePath = virtualFile == null ? VcsUtil.getFilePath(file, false) : VcsUtil.getFilePath(virtualFile);
     } else {
       filePath = createPath(vcsRoot, path, false, false, unescapePath);
     }
@@ -188,7 +188,7 @@ public class GitContentRevision implements ContentRevision {
 
   public static ContentRevision createRevision(@NotNull final VirtualFile file, @Nullable final VcsRevisionNumber revisionNumber,
                                                @NotNull final Project project, @Nullable final Charset charset) {
-    final FilePathImpl filePath = new FilePathImpl(file);
+    final FilePath filePath = VcsUtil.getFilePath(file);
     return createRevision(filePath, revisionNumber, project, charset);
   }
 
index 3e455f98a53f3aba687e6d43148fc45f76fd3758..a0e4c0250f19fc88fc57a8b7e63a44f45d5e43b4 100644 (file)
@@ -24,7 +24,6 @@ import com.intellij.openapi.project.DumbAwareAction;
 import com.intellij.openapi.project.Project;
 import com.intellij.openapi.ui.popup.JBPopupFactory;
 import com.intellij.openapi.vcs.FilePath;
-import com.intellij.openapi.vcs.FilePathImpl;
 import com.intellij.openapi.vcs.VcsException;
 import com.intellij.openapi.vcs.history.CurrentRevision;
 import com.intellij.openapi.vcs.history.VcsFileRevision;
@@ -32,6 +31,7 @@ import com.intellij.openapi.vfs.VirtualFile;
 import com.intellij.ui.components.JBList;
 import com.intellij.util.Function;
 import com.intellij.util.containers.ContainerUtil;
+import com.intellij.vcsUtil.VcsUtil;
 import git4idea.GitBranch;
 import git4idea.GitFileRevision;
 import git4idea.GitRevisionNumber;
@@ -199,7 +199,7 @@ public class GitCompareWithBranchAction extends DumbAwareAction {
 
     private static void showDiffWithBranch(@NotNull Project project, @NotNull VirtualFile file, @NotNull String head,
                                            @NotNull String branchToCompare) throws VcsException {
-      FilePath filePath = new FilePathImpl(file);
+      FilePath filePath = VcsUtil.getFilePath(file);
       // we could use something like GitRepository#getCurrentRevision here,
       // but this way we can easily identify if the file is available in the branch
       GitRevisionNumber compareRevisionNumber = (GitRevisionNumber)GitHistoryUtils.getCurrentRevision(project, filePath, branchToCompare);
@@ -218,7 +218,7 @@ public class GitCompareWithBranchAction extends DumbAwareAction {
       VcsFileRevision compareRevision = new GitFileRevision(project, filePath,
                                                             new GitRevisionNumber(branchToCompare, compareRevisionNumber.getTimestamp()));
       CurrentRevision currentRevision = new CurrentRevision(file, new GitRevisionNumber(head, currentRevisionNumber.getTimestamp()));
-      new GitDiffFromHistoryHandler(project).showDiffForTwo(project, new FilePathImpl(file), compareRevision, currentRevision);
+      new GitDiffFromHistoryHandler(project).showDiffForTwo(project, VcsUtil.getFilePath(file), compareRevision, currentRevision);
     }
 
     private static void fileDoesntExistInBranchError(@NotNull Project project, @NotNull VirtualFile file, @NotNull String branchToCompare) {
index 3f71c1171112539c3d58507734d81301c1a3e2bd..077c551ed3e44640b0fa47b76e61ea94f13c7c26 100644 (file)
@@ -184,7 +184,7 @@ public class GitAnnotationProvider implements AnnotationProvider, VcsCacheableAn
     for (int i = 0; i < size; i++) {
       basicData.put(i,  gitFileAnnotation.getLineRevisionNumber(i));
     }
-    return new VcsAnnotation(new FilePathImpl(gitFileAnnotation.getFile()), basicData, null);
+    return new VcsAnnotation(VcsUtil.getFilePath(gitFileAnnotation.getFile()), basicData, null);
   }
 
   @Override
index f34279bdf6ddf1724aa83b69971538df95dcc7f7..82ba409c122a27a7090eb8593d5d4629901d68d2 100644 (file)
@@ -35,6 +35,7 @@ import com.intellij.openapi.vfs.LocalFileSystem;
 import com.intellij.openapi.vfs.VirtualFile;
 import com.intellij.util.AsynchConsumer;
 import com.intellij.util.Consumer;
+import com.intellij.vcsUtil.VcsUtil;
 import git4idea.*;
 import git4idea.commands.GitSimpleHandler;
 import git4idea.history.GitHistoryUtils;
@@ -184,7 +185,7 @@ public class GitCommittedChangeListProvider implements CommittedChangesProvider<
 
   @Override
   public Pair<CommittedChangeList, FilePath> getOneList(final VirtualFile file, final VcsRevisionNumber number) throws VcsException {
-    final FilePathImpl filePath = new FilePathImpl(file);
+    FilePath filePath = VcsUtil.getFilePath(file);
 
     final List<GitHeavyCommit> gitCommits =
       GitHistoryUtils.commitsDetails(myProject, filePath, new SymbolicRefs(), Collections.singletonList(number.asString()));
index cc641808d81b09736a4f57e3e901b8735b8f7c82..d716877dbddfaa1ccc12386940ccece4225f16e8 100644 (file)
@@ -25,6 +25,7 @@ import com.intellij.openapi.vcs.versionBrowser.CommittedChangeList;
 import com.intellij.openapi.vfs.VirtualFile;
 import com.intellij.util.Consumer;
 import com.intellij.util.containers.Convertor;
+import com.intellij.vcsUtil.VcsUtil;
 import git4idea.GitBranch;
 import git4idea.GitBranchesSearcher;
 import git4idea.GitRevisionNumber;
@@ -105,7 +106,7 @@ public class GitOutgoingChangesProvider implements VcsOutgoingChangesProvider<Co
       return new ArrayList<Change>(localChanges); // no information, better strict approach (see getOutgoingChanges() code)
     }
     final List<Pair<SHAHash, Date>> hashes = GitHistoryUtils.onlyHashesHistory(myProject,
-      new FilePathImpl(vcsRoot), vcsRoot, (base.asString() + "..HEAD"));
+                                                                               VcsUtil.getFilePath(vcsRoot), vcsRoot, (base.asString() + "..HEAD"));
 
     if (hashes.isEmpty()) return Collections.emptyList(); // no local commits
     final String first = hashes.get(0).getFirst().getValue(); // optimization
index a1279b1f6da073b0114ce8e2ebd72afa8552aa8f..13db4a2bc8ab0f651d3c07a86651000653e012cf 100644 (file)
@@ -33,6 +33,7 @@ import com.intellij.util.ArrayUtil;
 import com.intellij.util.Consumer;
 import com.intellij.util.Processor;
 import com.intellij.util.ui.ColumnInfo;
+import com.intellij.vcsUtil.VcsUtil;
 import git4idea.GitFileRevision;
 import git4idea.GitRevisionNumber;
 import git4idea.GitUtil;
@@ -204,7 +205,7 @@ public class GitHistoryProvider implements VcsHistoryProviderEx, VcsCacheableHis
     if (virtualFile == null) {
       return path;
     }
-    return new FilePathImpl(virtualFile);
+    return VcsUtil.getFilePath(virtualFile);
   }
 
   public boolean supportsHistoryForDirectories() {
index 06585d96644b61e0d6a3552dc36d17c00e513156..d491ffd59f18f4fa4824c45a0230aa637e5bff56 100644 (file)
@@ -26,6 +26,7 @@ import com.intellij.openapi.vfs.LocalFileSystem;
 import com.intellij.openapi.vfs.VirtualFile;
 import com.intellij.util.PairProcessor;
 import com.intellij.util.containers.Convertor;
+import com.intellij.vcsUtil.VcsUtil;
 import git4idea.GitContentRevision;
 import git4idea.GitRevisionNumber;
 import git4idea.GitUtil;
@@ -139,7 +140,7 @@ public class GitChangeProvider implements ChangeProvider {
                                public boolean process(VirtualFile parent, VirtualFile child) {
                                  if (! existingInScope.contains(child) && existingInScope.contains(parent)) {
                                    debug("adding git root for check: " + child.getPath());
-                                   ((VcsModifiableDirtyScope)dirtyScope).addDirtyDirRecursively(new FilePathImpl(child));
+                                   ((VcsModifiableDirtyScope)dirtyScope).addDirtyDirRecursively(VcsUtil.getFilePath(child));
                                  }
                                  return true;
                                }
@@ -200,7 +201,7 @@ public class GitChangeProvider implements ChangeProvider {
       // Populating myUnversioned in the ChangeCollector makes nulls not possible in myUnversioned,
       // so proposing that the exception was fixed.
       // More detailed analysis will be needed in case the exception appears again. 2010-12-09.
-      myDirty.remove(new FilePathImpl(vf));
+      myDirty.remove(VcsUtil.getFilePath(vf));
     }
 
     public void feedBuilder(final ChangelistBuilder builder) throws VcsException {
index df204a34f5a2f96e384e6bc97139abb659889084..73e0c138984e566ee923042cf6845f1eb6264449 100644 (file)
@@ -23,6 +23,7 @@ import com.intellij.openapi.vcs.changes.ChangeListManager;
 import com.intellij.openapi.vcs.changes.ContentRevision;
 import com.intellij.openapi.vcs.changes.VcsDirtyScope;
 import com.intellij.openapi.vfs.VirtualFile;
+import com.intellij.vcsUtil.VcsUtil;
 import org.jetbrains.annotations.NotNull;
 
 import java.io.File;
@@ -107,7 +108,7 @@ abstract class GitChangesCollector {
     final List<FilePath> paths = new ArrayList<FilePath>(allPaths.size());
     for (String p : allPaths) {
       final File file = new File(p);
-      paths.add(new FilePathImpl(file, file.isDirectory()));
+      paths.add(VcsUtil.getFilePath(file, file.isDirectory()));
     }
     return paths;
   }
index 08c5103007d2897016c503ae60ddbb19ba1ad0d3..fe4934803be30863a476c611714ef1218822a581 100644 (file)
@@ -24,7 +24,6 @@ import com.intellij.openapi.util.Key;
 import com.intellij.openapi.util.io.FileUtil;
 import com.intellij.openapi.util.text.StringUtil;
 import com.intellij.openapi.vcs.FilePath;
-import com.intellij.openapi.vcs.FilePathImpl;
 import com.intellij.openapi.vcs.VcsException;
 import com.intellij.openapi.vcs.changes.Change;
 import com.intellij.openapi.vcs.changes.ChangeListManager;
@@ -35,6 +34,7 @@ import com.intellij.openapi.vcs.update.UpdatedFiles;
 import com.intellij.openapi.vfs.VirtualFile;
 import com.intellij.util.containers.ContainerUtil;
 import com.intellij.util.ui.UIUtil;
+import com.intellij.vcsUtil.VcsUtil;
 import git4idea.GitUtil;
 import git4idea.branch.GitBranchPair;
 import git4idea.commands.*;
@@ -225,7 +225,7 @@ public class GitMergeUpdater extends GitUpdater {
         path = myRoot.getPath() + "/" + GitUtil.unescapePath(line);
         final File file = new File(path);
         if (file.exists()) {
-          paths.add(new FilePathImpl(file, false));
+          paths.add(VcsUtil.getFilePath(file, false));
         }
       } catch (VcsException e) { // just continue
       }
index fc37dcce3cd7049f7444b2392774550da205af25..3c0774fa2db958c4202ebb39452809fc6c463729 100644 (file)
@@ -21,10 +21,10 @@ import com.intellij.openapi.actionSystem.ActionToolbar;
 import com.intellij.openapi.actionSystem.DefaultActionGroup;
 import com.intellij.openapi.project.Project;
 import com.intellij.openapi.vcs.FilePath;
-import com.intellij.openapi.vcs.FilePathImpl;
 import com.intellij.openapi.vcs.changes.ui.FilePathChangesTreeList;
 import com.intellij.util.Function;
 import com.intellij.util.containers.ContainerUtil;
+import com.intellij.vcsUtil.VcsUtil;
 import org.jetbrains.annotations.NotNull;
 
 import javax.swing.*;
@@ -64,7 +64,7 @@ public class GitSimplePathsBrowser extends JPanel {
     return ContainerUtil.map(absolutePaths, new Function<String, FilePath>() {
       @Override
       public FilePath fun(String path) {
-        return new FilePathImpl(new File(path), false);
+        return VcsUtil.getFilePath(new File(path), false);
       }
     });
   }
index bdf87b265427cefc83acf4cc15991255e42657f9..a33f6ae5c354fdb49c394759ea28ff0b21627895 100644 (file)
@@ -17,7 +17,7 @@ package git4idea.history;
 
 import com.intellij.openapi.util.Pair;
 import com.intellij.openapi.util.io.FileUtil;
-import com.intellij.openapi.vcs.FilePathImpl;
+import com.intellij.openapi.vcs.FilePath;
 import com.intellij.openapi.vcs.VcsException;
 import com.intellij.openapi.vcs.diff.ItemLatestState;
 import com.intellij.openapi.vcs.history.VcsFileRevision;
@@ -199,7 +199,7 @@ public class GitHistoryUtilsTest extends GitSingleRepoTest {
     Collections.reverse(commits);
     VirtualFile vFile = VcsUtil.getVirtualFileWithRefresh(new File(filePath));
     assertNotNull(vFile);
-    List<VcsFileRevision> history = GitHistoryUtils.history(myProject, new FilePathImpl(vFile));
+    List<VcsFileRevision> history = GitHistoryUtils.history(myProject, VcsUtil.getFilePath(vFile));
     assertEquals("History size doesn't match. Actual history: \n" + toReadable(history), commits.size(), history.size());
     assertEquals("History is different.", toReadable(commits), toReadable(history));
   }
@@ -315,8 +315,8 @@ public class GitHistoryUtilsTest extends GitSingleRepoTest {
   }
 
   @NotNull
-  private static FilePathImpl toFilePath(@NotNull File file) {
-    return new FilePathImpl(file, file.isDirectory());
+  private static FilePath toFilePath(@NotNull File file) {
+    return VcsUtil.getFilePath(file, file.isDirectory());
   }
 
   @Test(enabled = false)
index de5d156a22c934119fe52f38a7241bc6d6e79b07..8ea985d18e13c196a3d0dc8524c430b3f8319468 100644 (file)
@@ -28,6 +28,7 @@ import com.intellij.openapi.vfs.VirtualFile;
 import com.intellij.testFramework.vcs.MockChangeListManagerGate;
 import com.intellij.testFramework.vcs.MockChangelistBuilder;
 import com.intellij.testFramework.vcs.MockDirtyScope;
+import com.intellij.vcsUtil.VcsUtil;
 import git4idea.GitVcs;
 import git4idea.status.GitChangeProvider;
 import git4idea.test.GitSingleRepoTest;
@@ -164,7 +165,7 @@ public abstract class GitChangeProviderTest extends GitSingleRepoTest {
   protected void assertChanges(VirtualFile[] virtualFiles, FileStatus[] fileStatuses) throws VcsException {
     Map<FilePath, Change> result = getChanges(virtualFiles);
     for (int i = 0; i < virtualFiles.length; i++) {
-      FilePath fp = new FilePathImpl(virtualFiles[i]);
+      FilePath fp = VcsUtil.getFilePath(virtualFiles[i]);
       FileStatus status = fileStatuses[i];
       if (status == null) {
         assertFalse("File [" + tos(fp) + " shouldn't be in the changelist, but it was.", result.containsKey(fp));
@@ -205,7 +206,7 @@ public abstract class GitChangeProviderTest extends GitSingleRepoTest {
           }
         }
       } else {
-        filePath = new FilePathImpl(file);
+        filePath = VcsUtil.getFilePath(file);
       }
       result.put(filePath, change);
     }
@@ -252,7 +253,7 @@ public abstract class GitChangeProviderTest extends GitSingleRepoTest {
   }
 
   private void dirty(VirtualFile file) {
-    myDirtyScope.addDirtyFile(new FilePathImpl(file));
+    myDirtyScope.addDirtyFile(VcsUtil.getFilePath(file));
   }
 
   protected String tos(FilePath fp) {
index c39506fb26f7cb1b14ecb5c976c8b5245fb4ac04..35994d33b159f00a1df421439a34b893f8b0b6ff 100644 (file)
@@ -17,11 +17,11 @@ package git4idea.tests;
 
 import com.intellij.openapi.application.ApplicationManager;
 import com.intellij.openapi.util.io.FileUtil;
-import com.intellij.openapi.vcs.FilePathImpl;
 import com.intellij.openapi.vcs.FileStatus;
 import com.intellij.openapi.vfs.VfsUtilCore;
 import com.intellij.openapi.vfs.VirtualFile;
 import com.intellij.ui.GuiUtils;
+import com.intellij.vcsUtil.VcsUtil;
 import org.testng.annotations.Test;
 
 import static com.intellij.openapi.vcs.FileStatus.*;
@@ -65,7 +65,7 @@ public class GitChangeProviderVersionedTest extends GitChangeProviderTest {
           @Override
           public void run() {
             final VirtualFile dir = myProjectRoot.findChild("dir");
-            myDirtyScope.addDirtyDirRecursively(new FilePathImpl(dir));
+            myDirtyScope.addDirtyDirRecursively(VcsUtil.getFilePath(dir));
             FileUtil.delete(VfsUtilCore.virtualToIoFile(dir));
           }
         });
index 01f2b6492682ef8c6912e961707216118a7dac9d..b7733278e4cdf7de8618c11118aed5789c667d24 100644 (file)
@@ -156,7 +156,7 @@ public class HgVFSListener extends VcsVFSListener {
             statusCommand.execute(entry.getKey(), ContainerUtil.map(entry.getValue(), new Function<VirtualFile, FilePath>() {
               @Override
               public FilePath fun(VirtualFile virtualFile) {
-                return new FilePathImpl(virtualFile);
+                return VcsUtil.getFilePath(virtualFile);
               }
             }));
           for (HgChange change : changes) {
index 37987e1a02d3947b8da22d26ba0f8abb5d70652a..066d2888860f05a97b9298f20a640ace418e973e 100644 (file)
@@ -310,7 +310,7 @@ public class HgCachingCommittedChangesProvider implements CachingCommittedChange
     if (localVirtualFile == null) {
       return null;
     }
-    final FilePathImpl filePath = new FilePathImpl(localVirtualFile);
+    final FilePath filePath = VcsUtil.getFilePath(localVirtualFile);
     final CommittedChangeList list = getCommittedChangesForRevision(getLocationFor(filePath), number.asString());
     if (list != null) {
       return new Pair<CommittedChangeList, FilePath>(list, filePath);
index 14a28817150412a2d80392cf6b939ffa830243a0..225b18d8b2fded95e5fadcd0f0a904ffe8039071 100644 (file)
@@ -111,7 +111,7 @@ public class HgChangeProvider implements ChangeProvider {
     VirtualFile virtualSubrepoFile = VfsUtil.findFileByIoFile(file, false);
     HgRepository subrepo = HgUtil.getRepositoryForFile(myProject, virtualSubrepoFile);
     if (subrepo != null && !info.getHash().asString().equals(subrepo.getCurrentRevision())) {
-      return new HgChange(new HgFile(hgRepo.getRoot(), new FilePathImpl(virtualSubrepoFile)), HgFileStatusEnum.MODIFIED);
+      return new HgChange(new HgFile(hgRepo.getRoot(), VcsUtil.getFilePath(virtualSubrepoFile)), HgFileStatusEnum.MODIFIED);
     }
     return null;
   }
index 37db5ac0ffabf412bc98d496718fc9291e6a9ea3..13aadf67f49b2dd488d5d349cbb8958a3f4ce0c3 100644 (file)
@@ -16,8 +16,8 @@
 package hg4idea.test.diff;
 
 import com.intellij.openapi.vcs.FilePath;
-import com.intellij.openapi.vcs.FilePathImpl;
 import com.intellij.openapi.vcs.changes.Change;
+import com.intellij.vcsUtil.VcsUtil;
 import hg4idea.test.HgPlatformTest;
 import org.zmlx.hg4idea.HgFile;
 import org.zmlx.hg4idea.HgFileRevision;
@@ -59,7 +59,7 @@ public class HgGetDiffForDirTest extends HgPlatformTest {
     HgRevisionNumber r2number = HgRevisionNumber.getInstance(hash2[0], hash2[1]);
     HgFileRevision rev2 =
       new HgFileRevision(myProject, new HgFile(myRepository, dirFile), r2number, "", null, "", "", null, null, null, null);
-    FilePath dirPath = new FilePathImpl(dirFile, true);
+    FilePath dirPath = VcsUtil.getFilePath(dirFile, true);
     List<Change> changes = HgUtil.getDiff(myProject, myRepository, dirPath, rev1, rev2);
     assertEquals(2, changes.size());
   }
index 789bc7e06f768751209c6b32739dd2e58fa87979..4db03d0c5d755bc88992a319828efcb1b6887b87 100644 (file)
@@ -33,6 +33,7 @@ import com.intellij.openapi.vfs.VfsUtilCore;
 import com.intellij.openapi.vfs.VirtualFile;
 import com.intellij.util.EventDispatcher;
 import com.intellij.util.containers.ContainerUtil;
+import com.intellij.vcsUtil.VcsUtil;
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
 import org.jetbrains.idea.svn.actions.CleanupWorker;
@@ -144,7 +145,7 @@ public class SvnChangeProvider implements ChangeProvider {
 
     for (Document unsavedDocument : fileDocumentManager.getUnsavedDocuments()) {
       final VirtualFile file = fileDocumentManager.getFile(unsavedDocument);
-      if (file != null && dirtyScope.belongsTo(new FilePathImpl(file)) && fileDocumentManager.isFileModified(file)) {
+      if (file != null && dirtyScope.belongsTo(VcsUtil.getFilePath(file)) && fileDocumentManager.isFileModified(file)) {
         final FileStatus status = addGate.getStatus(file);
         if (status == null || FileStatus.NOT_CHANGED.equals(status)) {
           context.addModifiedNotSavedChange(file);
index ad63a0c653865bb33096810f63d7deb73463ea6e..924abab1a25b295be5185fd8361add9f95149306 100644 (file)
@@ -28,6 +28,7 @@ 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 com.intellij.vcsUtil.VcsUtil;
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
 import org.jetbrains.idea.svn.actions.AbstractShowPropertiesDiffAction;
@@ -251,7 +252,7 @@ class SvnChangeProviderContext implements StatusReceiver {
   }
 
   public void addModifiedNotSavedChange(@NotNull VirtualFile file) throws SVNException {
-    final FilePath filePath = new FilePathImpl(file);
+    final FilePath filePath = VcsUtil.getFilePath(file);
     final Info svnInfo = myVcs.getInfo(file);
 
     if (svnInfo != null) {
index 0c5d8ea6a9ced225312c291ecb14704d62c163ec..3541b7b2c4d3724466505c16e79e775c5e2621f7 100644 (file)
@@ -25,7 +25,6 @@ import com.intellij.openapi.util.Computable;
 import com.intellij.openapi.util.Ref;
 import com.intellij.openapi.util.io.FileUtil;
 import com.intellij.openapi.vcs.FilePath;
-import com.intellij.openapi.vcs.FilePathImpl;
 import com.intellij.openapi.vcs.ProjectLevelVcsManager;
 import com.intellij.openapi.vcs.changes.ChangeListManager;
 import com.intellij.openapi.vfs.LocalFileSystem;
@@ -207,7 +206,7 @@ public class SvnRecursiveStatusWalker {
     final Processor<File> checkDirProcessor = new Processor<File>() {
       @Override
       public boolean process(File file) {
-        final FilePathImpl path = new FilePathImpl(file, true);
+        final FilePath path = VcsUtil.getFilePath(file, true);
         path.hardRefresh();
         VirtualFile vf = path.getVirtualFile();
         if (vf != null && isIgnoredIdeaLevel(vf)) {
@@ -341,7 +340,7 @@ public class SvnRecursiveStatusWalker {
       if (vFile != null && status.is(StatusType.STATUS_UNVERSIONED)) {
         if (vFile.isDirectory()) {
           if (!FileUtil.filesEqual(myCurrentItem.getPath().getIOFile(), ioFile)) {
-            myQueue.add(createItem(new FilePathImpl(vFile), Depth.INFINITY, true));
+            myQueue.add(createItem(VcsUtil.getFilePath(vFile), Depth.INFINITY, true));
           }
         }
         else {
index d4c98221a5677dcdf09370f9516455c1bb21471a..da5653d1c2e40e4404bf26efffb3c313f433998d 100644 (file)
 package org.jetbrains.idea.svn;
 
 import com.intellij.openapi.vcs.FilePath;
-import com.intellij.openapi.vcs.FilePathImpl;
 import com.intellij.openapi.vcs.changes.VcsDirtyScope;
 import com.intellij.openapi.vfs.VirtualFile;
 import com.intellij.util.containers.ContainerUtil;
+import com.intellij.vcsUtil.VcsUtil;
 import org.jetbrains.annotations.NotNull;
 
 import java.util.Collection;
@@ -51,7 +51,7 @@ public class SvnScopeZipper implements Runnable {
         final MyDirNonRecursive me = createOrGet(file);
         if (vFile != null && vFile.isValid()) {
           for (VirtualFile child : vFile.getChildren()) {
-            me.add(new FilePathImpl(child));
+            me.add(VcsUtil.getFilePath(child));
           }
         }
       }
index ca97edb1c228b956012aae543bcfd93ba7d3eb24..d7222b83f1af57787b15923e0e9d086a05f3a615 100644 (file)
@@ -15,9 +15,9 @@
  */
 package org.jetbrains.idea.svn;
 
-import com.intellij.openapi.vcs.FilePathImpl;
 import com.intellij.openapi.vcs.changes.ChangesUtil;
 import com.intellij.openapi.vfs.VirtualFile;
+import com.intellij.vcsUtil.VcsUtil;
 import org.tmatesoft.svn.core.SVNErrorCode;
 import org.tmatesoft.svn.core.SVNErrorMessage;
 import org.tmatesoft.svn.core.SVNException;
@@ -40,7 +40,7 @@ public class SvnWriteOperationLocks extends SvnAbstractWriteOperationLocks {
   }
 
   protected WorkingCopy getCopy(File file, boolean directory) throws SVNException {
-    final VirtualFile parentOrSelf = ChangesUtil.findValidParentAccurately(new FilePathImpl(file, directory));
+    final VirtualFile parentOrSelf = ChangesUtil.findValidParentAccurately(VcsUtil.getFilePath(file, directory));
     final WorkingCopy wcRoot = myRootsToWorkingCopies.getWcRoot(parentOrSelf);
     if (wcRoot == null) {
       throw new SVNException(SVNErrorMessage.create(directory ? SVNErrorCode.WC_NOT_WORKING_COPY : SVNErrorCode.WC_NOT_FILE));
index d6d9c3152dde0cb8a6677cf7627e2d8e932e212b..5bd74399530292ad5fe113fbea2903076842f295 100644 (file)
@@ -31,6 +31,7 @@ import com.intellij.openapi.vfs.VirtualFile;
 import com.intellij.vcsUtil.ActionExecuteHelper;
 import com.intellij.vcsUtil.ActionStateConsumer;
 import com.intellij.vcsUtil.ActionUpdateHelper;
+import com.intellij.vcsUtil.VcsUtil;
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.idea.svn.SvnBundle;
 import org.jetbrains.idea.svn.SvnPropertyKeys;
@@ -96,7 +97,7 @@ public class CreateExternalAction extends DumbAwareAction {
       final File ioFile = new File(vf.getPath());
       if (addToExternalProperty(vcs, ioFile, target, url)) return;
       final VcsDirtyScopeManager dirtyScopeManager = VcsDirtyScopeManager.getInstance(project);
-      final FilePathImpl filePath = new FilePathImpl(ioFile, true);
+      final FilePath filePath = VcsUtil.getFilePath(ioFile, true);
       dirtyScopeManager.fileDirty(filePath);
       if (checkout) {
         // +-
index 960eb234042d03d3ed4e6b2d2a0aeb8285bc60a8..f99249f3dc62a4853f8148ef1732ada91d0a9499 100644 (file)
@@ -32,6 +32,7 @@ import com.intellij.openapi.vcs.history.*;
 import com.intellij.openapi.vcs.versionBrowser.ChangeBrowserSettings;
 import com.intellij.openapi.vfs.CharsetToolkit;
 import com.intellij.openapi.vfs.VirtualFile;
+import com.intellij.vcsUtil.VcsUtil;
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
 import org.jetbrains.idea.svn.*;
@@ -294,7 +295,7 @@ public class SvnAnnotationProvider implements AnnotationProvider, VcsCacheableAn
       lineAnnotationData.put(i,  revisionNumber);
     }
 
-    final VcsAnnotation vcsAnnotation = new VcsAnnotation(new FilePathImpl(svnFileAnnotation.getFile()), lineAnnotationData,
+    final VcsAnnotation vcsAnnotation = new VcsAnnotation(VcsUtil.getFilePath(svnFileAnnotation.getFile()), lineAnnotationData,
                                                           svnFileAnnotation.getFirstRevisionNumber());
 
     if (annotationSourceSwitcher != null) {
index 29e5fe9d7f720ebbbba2ff59ac25050338c78021..171810aa00ab46c00a3f7034ee21debd8f61f8c4 100644 (file)
@@ -36,6 +36,7 @@ import com.intellij.openapi.vfs.VfsUtilCore;
 import com.intellij.openapi.vfs.VirtualFile;
 import com.intellij.util.PairConsumer;
 import com.intellij.util.containers.MultiMap;
+import com.intellij.vcsUtil.VcsUtil;
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
 import org.jetbrains.idea.svn.*;
@@ -111,7 +112,7 @@ public class SvnCheckinHandlerFactory extends VcsCheckinHandlerFactory {
               }
             }
             if (take) {
-              paths.add(new FilePathImpl(root));
+              paths.add(VcsUtil.getFilePath(root));
             }
           }
           if (paths.isEmpty()) return;
index 89a8f549aad8ab9f98083775be5501dad913fe96..cf720f99b73c4544266bce80c345a18a92a34760 100644 (file)
@@ -413,7 +413,7 @@ public class SvnChangeList implements CommittedChangeList {
     private SvnRepositoryContentRevision createRevision(final SvnRepositoryContentRevision previousRevision, final boolean isDir) {
       return previousRevision == null ? null :
              SvnRepositoryContentRevision.create(myVcs, previousRevision.getFullPath(),
-                                                 new FilePathImpl(previousRevision.getFile().getIOFile(), isDir),
+                                                 VcsUtil.getFilePath(previousRevision.getFile().getIOFile(), isDir),
                                                  previousRevision.getRevisionNumber().getRevision().getNumber());
     }
 
index 413e05bdd7815d2a0b2dd430d97dffd58b0a98a5..29f23b85ffaa6ad520d54a07e42dfbbe380207da 100644 (file)
@@ -17,7 +17,7 @@ package org.jetbrains.idea.svn.history;
 
 import com.intellij.openapi.diagnostic.Logger;
 import com.intellij.openapi.vcs.FilePath;
-import com.intellij.openapi.vcs.FilePathImpl;
+import com.intellij.vcsUtil.VcsUtil;
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
 import org.jetbrains.idea.svn.SvnFileUrlMapping;
@@ -74,6 +74,6 @@ public class SvnCopyPathTracker {
       LOG.info("Cannot find local path for url: " + absolutePath);
       return null;
     }
-    return new FilePathImpl(new File(localPath), false);
+    return VcsUtil.getFilePath(new File(localPath), false);
   }
 }
index 8724a44cfc44c7a0c95b8dc0ffdc8d2c7c3a1ea6..f5007e8ced1f9751b9e8a8efdb97a507fc3128c5 100644 (file)
@@ -19,15 +19,14 @@ import com.intellij.icons.AllIcons;
 import com.intellij.openapi.actionSystem.AnAction;
 import com.intellij.openapi.actionSystem.AnActionEvent;
 import com.intellij.openapi.actionSystem.CommonDataKeys;
-import com.intellij.openapi.actionSystem.PlatformDataKeys;
 import com.intellij.openapi.project.Project;
-import com.intellij.openapi.vcs.FilePathImpl;
 import com.intellij.openapi.vcs.ProjectLevelVcsManager;
 import com.intellij.openapi.vcs.VcsDataKeys;
 import com.intellij.openapi.vcs.VcsKey;
 import com.intellij.openapi.vcs.history.VcsFileRevision;
 import com.intellij.openapi.vfs.VirtualFile;
 import com.intellij.util.Consumer;
+import com.intellij.vcsUtil.VcsUtil;
 import org.jetbrains.idea.svn.SvnVcs;
 
 import java.util.List;
@@ -62,7 +61,7 @@ public class SvnEditCommitMessageFromFileHistoryAction extends AnAction {
         if (listener != null) {
           listener.consume(newMessage);
         }
-        ProjectLevelVcsManager.getInstance(project).getVcsHistoryCache().editCached(new FilePathImpl(revisionVirtualFile), vcsKey,
+        ProjectLevelVcsManager.getInstance(project).getVcsHistoryCache().editCached(VcsUtil.getFilePath(revisionVirtualFile), vcsKey,
           new Consumer<List<VcsFileRevision>>() {
             @Override
             public void consume(List<VcsFileRevision> revisions) {
index 4f1b531495d7685f2e7ff73c1cb1473076fe318e..df3c34879119d64c20882fd618167fa3c230f10e 100644 (file)
@@ -19,7 +19,6 @@ import com.intellij.openapi.util.Condition;
 import com.intellij.openapi.util.Conditions;
 import com.intellij.openapi.util.text.StringUtil;
 import com.intellij.openapi.vcs.FilePath;
-import com.intellij.openapi.vcs.FilePathImpl;
 import com.intellij.openapi.vcs.changes.Change;
 import com.intellij.openapi.vcs.changes.ChangeListManager;
 import com.intellij.openapi.vcs.changes.ChangesUtil;
@@ -29,6 +28,7 @@ import com.intellij.util.FilePathByPathComparator;
 import com.intellij.util.containers.ContainerUtil;
 import com.intellij.util.continuation.ContinuationContext;
 import com.intellij.util.continuation.Where;
+import com.intellij.vcsUtil.VcsUtil;
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
 import org.jetbrains.idea.svn.history.SvnChangeList;
@@ -135,7 +135,7 @@ public class LocalChangesPromptTask extends BaseMergeTask {
         File localPath = getLocalPath(path);
 
         if (localPath != null) {
-          result.add(new FilePathImpl(localPath, false));
+          result.add(VcsUtil.getFilePath(localPath, false));
         }
       }
     }
index c2c448d16b40d2538910f8475b531edebf39ae92..79b72fc9e6f5e2f5e1611667857eeb3a1ccd31e7 100644 (file)
@@ -36,6 +36,7 @@ import com.intellij.openapi.vcs.update.*;
 import com.intellij.util.Consumer;
 import com.intellij.util.Function;
 import com.intellij.util.containers.ContainerUtil;
+import com.intellij.vcsUtil.VcsUtil;
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
 import org.jetbrains.idea.svn.SvnBundle;
@@ -65,7 +66,7 @@ public class SvnIntegrateChangesTask extends Task.Backgroundable {
   private UpdateEventHandler myHandler;
   private IMerger myMerger;
   private ResolveWorker myResolveWorker;
-  private FilePathImpl myMergeTarget;
+  private FilePath myMergeTarget;
   private final String myTitle;
   private boolean myDryRun;
 
@@ -264,7 +265,7 @@ public class SvnIntegrateChangesTask extends Task.Backgroundable {
     if (mergeInfoHolder != null) {
       final Status svnStatus = SvnUtil.getStatus(myVcs, mergeInfoHolder);
       if (svnStatus != null && svnStatus.isProperty(StatusType.STATUS_MODIFIED)) {
-        myMergeTarget = FilePathImpl.create(mergeInfoHolder, mergeInfoHolder.isDirectory());
+        myMergeTarget = VcsUtil.getFilePath(mergeInfoHolder, mergeInfoHolder.isDirectory());
       }
     }
   }
index 2ee862c54327c5e4bd47f9245d98edfa845631b7..f878674a55f5fc3043c0e263e209466d17a047d1 100644 (file)
 package org.jetbrains.idea.svn.rollback;
 
 import com.intellij.openapi.util.io.FileUtil;
-import com.intellij.openapi.vcs.FilePathImpl;
 import com.intellij.openapi.vcs.VcsException;
 import com.intellij.openapi.vcs.rollback.RollbackProgressListener;
 import com.intellij.util.Processor;
 import com.intellij.util.containers.ContainerUtil;
+import com.intellij.vcsUtil.VcsUtil;
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.idea.svn.SvnFileSystemListener;
 import org.jetbrains.idea.svn.SvnVcs;
@@ -223,7 +223,7 @@ public class Reverter {
     return new PropertyConsumer() {
       @Override
       public void handleProperty(File path, PropertyData property) throws SVNException {
-        final ThroughRenameInfo info = collector.findToFile(new FilePathImpl(path, path.isDirectory()), null);
+        final ThroughRenameInfo info = collector.findToFile(VcsUtil.getFilePath(path, path.isDirectory()), null);
         if (info != null) {
           if (!properties.containsKey(info.getTo())) {
             properties.put(info.getTo(), new PropertiesMap());
index 0b0bba7c5005a80c8212d7e1862482969756d231..abfacdcd459debefc576b5da8b0fef549389dc72 100644 (file)
@@ -18,13 +18,13 @@ package org.jetbrains.idea.svn.rollback;
 import com.intellij.openapi.util.Couple;
 import com.intellij.openapi.util.io.FileUtil;
 import com.intellij.openapi.vcs.FilePath;
-import com.intellij.openapi.vcs.FilePathImpl;
 import com.intellij.openapi.vcs.VcsKey;
 import com.intellij.openapi.vcs.changes.Change;
 import com.intellij.openapi.vcs.changes.ChangeList;
 import com.intellij.openapi.vcs.changes.EmptyChangelistBuilder;
 import com.intellij.openapi.vcs.changes.FilePathsHelper;
 import com.intellij.openapi.vfs.VirtualFile;
+import com.intellij.vcsUtil.VcsUtil;
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
 
@@ -74,7 +74,7 @@ public class UnversionedAndNotTouchedFilesGroupCollector extends EmptyChangelist
   }
 
   private void toFromTo(VirtualFile file) {
-    final FilePathImpl path = new FilePathImpl(file);
+    FilePath path = VcsUtil.getFilePath(file);
     final ThroughRenameInfo info = findToFile(path, null);
     if (info != null) {
       myFromTo.put(path.getIOFile(), info);
index f18b6a578ecb9a326c43a165bf51aefd25c730b0..107d928d2e4b337946fb38c40e7606ba8355389d 100644 (file)
@@ -23,6 +23,7 @@ import com.intellij.openapi.vcs.changes.VcsDirtyScopeManager;
 import com.intellij.openapi.vfs.LocalFileSystem;
 import com.intellij.openapi.vfs.VirtualFile;
 import com.intellij.util.NullableFunction;
+import com.intellij.vcsUtil.VcsUtil;
 import junit.framework.Assert;
 import org.jetbrains.annotations.Nullable;
 import org.junit.Before;
@@ -187,7 +188,7 @@ public class SvnCommitTest extends Svn17TestCase {
 
         checkinFiles(dir, file, file2);
 
-        final FilePath dirPath = new FilePathImpl(new File(dir.getPath()), true);
+        final FilePath dirPath = VcsUtil.getFilePath(new File(dir.getPath()), true);
         deleteFileInCommand(dir);
 
         myDirtyScopeManager.markEverythingDirty();
index 2ead2f02c214213e9d98b841c6e345f34a707816..79a151517bbf52755416933f2ec232fbb7c11a80 100644 (file)
  */
 package org.jetbrains.idea.svn;
 
-import com.intellij.openapi.vcs.FilePathImpl;
 import com.intellij.openapi.vcs.VcsConfiguration;
 import com.intellij.openapi.vcs.changes.Change;
 import com.intellij.openapi.vcs.changes.ChangeListManager;
 import com.intellij.openapi.vcs.changes.LocalChangeList;
 import com.intellij.openapi.vcs.changes.VcsDirtyScopeManager;
 import com.intellij.openapi.vfs.VirtualFile;
+import com.intellij.vcsUtil.VcsUtil;
 import org.jetbrains.idea.svn.integrate.AlienDirtyScope;
 import org.junit.Assert;
 import org.junit.Test;
@@ -51,7 +51,7 @@ public class SvnDeleteTest extends Svn17TestCase {
     refreshVfs();
 
     final AlienDirtyScope dirtyScope = new AlienDirtyScope();
-    dirtyScope.addDir(new FilePathImpl(myWorkingCopyDir));
+    dirtyScope.addDir(VcsUtil.getFilePath(myWorkingCopyDir));
     final List<Change> changesManually = getChangesInScope(dirtyScope);
     Assert.assertEquals(2, changesManually.size());
 
index 32509217923e615825a816c4bcd839d6dfcaecbe..dbd7b990d8e72af3985c207268472ff15dcd9fda 100644 (file)
@@ -24,6 +24,7 @@ import com.intellij.openapi.vcs.history.VcsAppendableHistorySessionPartner;
 import com.intellij.openapi.vcs.history.VcsFileRevision;
 import com.intellij.openapi.vcs.history.VcsHistoryProvider;
 import com.intellij.util.concurrency.Semaphore;
+import com.intellij.vcsUtil.VcsUtil;
 import junit.framework.Assert;
 import org.junit.Test;
 
@@ -152,7 +153,7 @@ public class SvnHistoryTest extends Svn17TestCase {
 
     final Semaphore semaphore = new Semaphore();
     semaphore.down();
-    provider.reportAppendableHistory(new FilePathImpl(tree.myS1File), new VcsAppendableHistorySessionPartner() {
+    provider.reportAppendableHistory(VcsUtil.getFilePath(tree.myS1File), new VcsAppendableHistorySessionPartner() {
       @Override
       public void reportCreatedEmptySession(VcsAbstractHistorySession session) {
       }
@@ -205,7 +206,7 @@ public class SvnHistoryTest extends Svn17TestCase {
 
     final Semaphore semaphore = new Semaphore();
     semaphore.down();
-    provider.reportAppendableHistory(new FilePathImpl(tree.myS1File), new VcsAppendableHistorySessionPartner() {
+    provider.reportAppendableHistory(VcsUtil.getFilePath(tree.myS1File), new VcsAppendableHistorySessionPartner() {
       @Override
       public void reportCreatedEmptySession(VcsAbstractHistorySession session) {
       }
@@ -259,7 +260,7 @@ public class SvnHistoryTest extends Svn17TestCase {
 
     final Semaphore semaphore = new Semaphore();
     semaphore.down();
-    provider.reportAppendableHistory(new FilePathImpl(tree.myS1File), new VcsAppendableHistorySessionPartner() {
+    provider.reportAppendableHistory(VcsUtil.getFilePath(tree.myS1File), new VcsAppendableHistorySessionPartner() {
       @Override
       public void reportCreatedEmptySession(VcsAbstractHistorySession session) {
       }
@@ -293,7 +294,7 @@ public class SvnHistoryTest extends Svn17TestCase {
 
     myCnt = 0;
     semaphore.down();
-    provider.reportAppendableHistory(new FilePathImpl(tree.myTargetDir), new VcsAppendableHistorySessionPartner() {
+    provider.reportAppendableHistory(VcsUtil.getFilePath(tree.myTargetDir), new VcsAppendableHistorySessionPartner() {
       @Override
       public void reportCreatedEmptySession(VcsAbstractHistorySession session) {
       }
@@ -326,7 +327,7 @@ public class SvnHistoryTest extends Svn17TestCase {
 
     myCnt = 0;
     semaphore.down();
-    provider.reportAppendableHistory(new FilePathImpl(tree.myTargetFiles.get(0)), new VcsAppendableHistorySessionPartner() {
+    provider.reportAppendableHistory(VcsUtil.getFilePath(tree.myTargetFiles.get(0)), new VcsAppendableHistorySessionPartner() {
       @Override
       public void reportCreatedEmptySession(VcsAbstractHistorySession session) {
       }
index a0dfa979ea746f78bdebff4ab9da2f654e0a09dd..3b6a74dd98c8735b470a529a737f184bb70bb1e1 100644 (file)
@@ -28,6 +28,7 @@ import com.intellij.openapi.vfs.LocalFileSystem;
 import com.intellij.openapi.vfs.VirtualFile;
 import com.intellij.util.Processor;
 import com.intellij.util.containers.Convertor;
+import com.intellij.vcsUtil.VcsUtil;
 import junit.framework.Assert;
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.idea.svn.api.Depth;
@@ -532,7 +533,7 @@ public class SvnNativeClientAuthTest extends Svn17TestCase {
     final List<VcsException> exceptions = myVcs.getCheckinEnvironment().scheduleUnversionedFilesForAddition(files);
     Assert.assertTrue(exceptions.isEmpty());
 
-    final Change change = new Change(null, new CurrentContentRevision(new FilePathImpl(vf)));
+    final Change change = new Change(null, new CurrentContentRevision(VcsUtil.getFilePath(vf)));
     final List<VcsException> commit = myVcs.getCheckinEnvironment().commit(Collections.singletonList(change), "commit");
     Assert.assertTrue(commit.isEmpty());
     ++ myExpectedCreds;
@@ -579,7 +580,7 @@ public class SvnNativeClientAuthTest extends Svn17TestCase {
     final VirtualFile vf = LocalFileSystem.getInstance().refreshAndFindFileByIoFile(wc1);
     final UpdatedFiles files = UpdatedFiles.create();
     final UpdateSession session =
-      myVcs.getUpdateEnvironment().updateDirectories(new FilePath[]{new FilePathImpl(vf)}, files, new EmptyProgressIndicator(),
+      myVcs.getUpdateEnvironment().updateDirectories(new FilePath[]{VcsUtil.getFilePath(vf)}, files, new EmptyProgressIndicator(),
                                                      new Ref<SequentialUpdatesContext>());
     Assert.assertTrue(session.getExceptions() != null && ! session.getExceptions().isEmpty());
     Assert.assertTrue(!session.isCanceled());
@@ -596,7 +597,7 @@ public class SvnNativeClientAuthTest extends Svn17TestCase {
     final VirtualFile vf = LocalFileSystem.getInstance().refreshAndFindFileByIoFile(wc1);
     final UpdatedFiles files = UpdatedFiles.create();
     final UpdateSession session =
-      myVcs.getUpdateEnvironment().updateDirectories(new FilePath[]{new FilePathImpl(vf)}, files, new EmptyProgressIndicator(),
+      myVcs.getUpdateEnvironment().updateDirectories(new FilePath[]{VcsUtil.getFilePath(vf)}, files, new EmptyProgressIndicator(),
                                                      new Ref<SequentialUpdatesContext>());
     Assert.assertTrue(session.getExceptions() == null || session.getExceptions().isEmpty());
     Assert.assertTrue(!session.isCanceled());
index af17c9aa219056683686cb2385d6e12dbda1e226..73384eebcfdc085bfdc958bbe7fff2e18c755bc6 100644 (file)
@@ -34,6 +34,7 @@ import com.intellij.openapi.vfs.LocalFileSystem;
 import com.intellij.openapi.vfs.VirtualFile;
 import com.intellij.util.Processor;
 import com.intellij.util.containers.Convertor;
+import com.intellij.vcsUtil.VcsUtil;
 import junit.framework.Assert;
 import org.jetbrains.idea.svn.api.Depth;
 import org.jetbrains.idea.svn.auth.SvnAuthenticationManager;
@@ -192,7 +193,7 @@ public class SvnProtocolsTest extends Svn17TestCase {
     final VirtualFile vf = LocalFileSystem.getInstance().refreshAndFindFileByIoFile(wc1);
     final UpdatedFiles files = UpdatedFiles.create();
     final UpdateSession session =
-      myVcs.getUpdateEnvironment().updateDirectories(new FilePath[]{new FilePathImpl(vf)}, files, new EmptyProgressIndicator(),
+      myVcs.getUpdateEnvironment().updateDirectories(new FilePath[]{VcsUtil.getFilePath(vf)}, files, new EmptyProgressIndicator(),
                                                      new Ref<SequentialUpdatesContext>());
     Assert.assertTrue(session.getExceptions() == null || session.getExceptions().isEmpty());
     Assert.assertTrue(! session.isCanceled());
@@ -212,7 +213,7 @@ public class SvnProtocolsTest extends Svn17TestCase {
     final List<VcsException> exceptions = myVcs.getCheckinEnvironment().scheduleUnversionedFilesForAddition(files);
     Assert.assertTrue(exceptions.isEmpty());
 
-    final Change change = new Change(null, new CurrentContentRevision(new FilePathImpl(vf)));
+    final Change change = new Change(null, new CurrentContentRevision(VcsUtil.getFilePath(vf)));
     final List<VcsException> commit = myVcs.getCheckinEnvironment().commit(Collections.singletonList(change), "commit");
     Assert.assertTrue(commit.isEmpty());
     return file;
index 7dd99a049f7c35416898ac81f37e57ea78f07e28..421b7e50d67724a897764b3db46e46fc2efd3581 100644 (file)
@@ -25,6 +25,7 @@ import com.intellij.openapi.vcs.changes.VcsDirtyScopeManager;
 import com.intellij.openapi.vfs.VfsUtil;
 import com.intellij.openapi.vfs.VirtualFile;
 import com.intellij.util.Processor;
+import com.intellij.vcsUtil.VcsUtil;
 import junit.framework.Assert;
 import org.jetbrains.idea.svn.info.Info;
 import org.jetbrains.idea.svn.status.Status;
@@ -129,7 +130,7 @@ public class SvnResolveTreeAcceptVariantsTest extends Svn17TestCase {
       final String conflictFile = data.getConflictFile();
 
       final File conflictIoFile = new File(myWorkingCopyDir.getPath(), conflictFile);
-      final FilePathImpl filePath = new FilePathImpl(conflictIoFile, conflictIoFile.isDirectory());
+      final FilePath filePath = VcsUtil.getFilePath(conflictIoFile, conflictIoFile.isDirectory());
       final Change change = myChangeListManager.getChange(filePath);
       Assert.assertNotNull(change);
       Assert.assertTrue(change instanceof ConflictedSvnChange);
@@ -239,7 +240,7 @@ public class SvnResolveTreeAcceptVariantsTest extends Svn17TestCase {
       final String conflictFile = data.getConflictFile();
 
       final File conflictIoFile = new File(myWorkingCopyDir.getPath(), conflictFile);
-      final FilePathImpl filePath = new FilePathImpl(conflictIoFile, conflictIoFile.isDirectory());
+      final FilePath filePath = VcsUtil.getFilePath(conflictIoFile, conflictIoFile.isDirectory());
       final Change change = myChangeListManager.getChange(filePath);
       Assert.assertNotNull(change);
       Assert.assertTrue(change instanceof ConflictedSvnChange);
index 3b5c00394cd8ac8be6870e08cc663fe994aa560d..4260eb3cd2050e10c073330bfbce3abac4625a53 100644 (file)
@@ -21,6 +21,7 @@ import com.intellij.openapi.vcs.changes.*;
 import com.intellij.openapi.vcs.rollback.RollbackProgressListener;
 import com.intellij.openapi.vfs.LocalFileSystem;
 import com.intellij.openapi.vfs.VirtualFile;
+import com.intellij.vcsUtil.VcsUtil;
 import org.jetbrains.idea.svn.ignore.FileGroupInfo;
 import org.jetbrains.idea.svn.ignore.SvnPropertyService;
 import org.junit.Assert;
@@ -250,16 +251,16 @@ public class SvnRollbackTest extends Svn17TestCase {
     assertMovedChange(inner);
     final Change innerChange = assertMovedChange(innerFile);
 
-    final Change fantomDelete1 = new Change(new SimpleContentRevision("1", new FilePathImpl(wasLowestDir, true), "2"),
-                                            new SimpleContentRevision("1", new FilePathImpl(wasLowestDirAfter, true), "2"));
-    final Change fantomDelete2 = new Change(new SimpleContentRevision("1", new FilePathImpl(wasInnerFile1, false), "2"),
-                                            new SimpleContentRevision("1", new FilePathImpl(wasInnerFile1After, false), SVNRevision.WORKING.getName()));
+    final Change fantomDelete1 = new Change(new SimpleContentRevision("1", VcsUtil.getFilePath(wasLowestDir, true), "2"),
+                                            new SimpleContentRevision("1", VcsUtil.getFilePath(wasLowestDirAfter, true), "2"));
+    final Change fantomDelete2 = new Change(new SimpleContentRevision("1", VcsUtil.getFilePath(wasInnerFile1, false), "2"),
+                                            new SimpleContentRevision("1", VcsUtil.getFilePath(wasInnerFile1After, false), SVNRevision.WORKING.getName()));
 
     rollbackIMpl(Arrays.asList(change),
-                 Arrays.asList(new Change(new SimpleContentRevision("1", new FilePathImpl(wasInnerFile, false), "2"),
-                                          new SimpleContentRevision("1", new FilePathImpl(wasInnerFileAfter, false), SVNRevision.WORKING.getName())),
-                               new Change(new SimpleContentRevision("1", new FilePathImpl(inner2Before, true), "2"),
-                                          new SimpleContentRevision("1", new FilePathImpl(inner2After, true), SVNRevision.WORKING.getName())),
+                 Arrays.asList(new Change(new SimpleContentRevision("1", VcsUtil.getFilePath(wasInnerFile, false), "2"),
+                                          new SimpleContentRevision("1", VcsUtil.getFilePath(wasInnerFileAfter, false), SVNRevision.WORKING.getName())),
+                               new Change(new SimpleContentRevision("1", VcsUtil.getFilePath(inner2Before, true), "2"),
+                                          new SimpleContentRevision("1", VcsUtil.getFilePath(inner2After, true), SVNRevision.WORKING.getName())),
                                fantomDelete1, fantomDelete2));
     Assert.assertTrue(wasU2.exists());
   }
@@ -294,10 +295,10 @@ public class SvnRollbackTest extends Svn17TestCase {
     Assert.assertEquals("cde", getProperty(new File(innerFile.getPath()), "abc"));
 
     rollbackIMpl(Arrays.asList(change),
-                 Arrays.asList(new Change(new SimpleContentRevision("1", new FilePathImpl(innerBefore, true), "2"),
-                                          new SimpleContentRevision("1", new FilePathImpl(innerAfter, true), SVNRevision.WORKING.getName())),
-                               new Change(new SimpleContentRevision("1", new FilePathImpl(fileBefore, false), "2"),
-                                          new SimpleContentRevision("1", new FilePathImpl(fileAfter, false), SVNRevision.WORKING.getName()))));
+                 Arrays.asList(new Change(new SimpleContentRevision("1", VcsUtil.getFilePath(innerBefore, true), "2"),
+                                          new SimpleContentRevision("1", VcsUtil.getFilePath(innerAfter, true), SVNRevision.WORKING.getName())),
+                               new Change(new SimpleContentRevision("1", VcsUtil.getFilePath(fileBefore, false), "2"),
+                                          new SimpleContentRevision("1", VcsUtil.getFilePath(fileAfter, false), SVNRevision.WORKING.getName()))));
     Assert.assertEquals("cde", getProperty(fileAfter, "abc"));
   }
 
@@ -324,8 +325,8 @@ public class SvnRollbackTest extends Svn17TestCase {
     final SubTree tree = new SubTree(myWorkingCopyDir);
     checkin();
 
-    final FilePath fpSource = new FilePathImpl(new File(tree.mySourceDir.getPath()), true);
-    final FilePath fpT11 = new FilePathImpl(new File(tree.myTargetFiles.get(0).getPath()), false);
+    final FilePath fpSource = VcsUtil.getFilePath(new File(tree.mySourceDir.getPath()), true);
+    final FilePath fpT11 = VcsUtil.getFilePath(new File(tree.myTargetFiles.get(0).getPath()), false);
     VcsTestUtil.deleteFileInCommand(myProject, tree.mySourceDir);
     VcsTestUtil.deleteFileInCommand(myProject, tree.myTargetFiles.get(0));
 
@@ -515,7 +516,7 @@ public class SvnRollbackTest extends Svn17TestCase {
     final Change s1Change = assertMovedChange(tree.myS1File);
     final Change s2Change = assertMovedChange(tree.myS2File);
 
-    final FilePathImpl fp = new FilePathImpl(was2, false);
+    final FilePath fp = VcsUtil.getFilePath(was2, false);
     rollbackIMpl(Arrays.asList(dirChange, s1Change), Arrays.asList(new Change(
       new SimpleContentRevision("1", fp, "1"), new SimpleContentRevision("1", fp, SVNRevision.WORKING.getName()))));
   }
@@ -566,7 +567,7 @@ public class SvnRollbackTest extends Svn17TestCase {
     }
     Assert.assertTrue(files.isEmpty());
 
-    rollbackLocallyDeleted(Collections.<FilePath>singletonList(new FilePathImpl(wasFile, true)), Collections.<FilePath>emptyList());
+    rollbackLocallyDeleted(Collections.<FilePath>singletonList(VcsUtil.getFilePath(wasFile, true)), Collections.<FilePath>emptyList());
   }
 
   @Test
@@ -607,7 +608,7 @@ public class SvnRollbackTest extends Svn17TestCase {
     Assert.assertTrue(files.contains(deletedFiles.get(1).getPath().getIOFile()));
     Assert.assertTrue(files.contains(deletedFiles.get(2).getPath().getIOFile()));
 
-    rollbackLocallyDeleted(Arrays.<FilePath>asList(new FilePathImpl(wasFile2, true), new FilePathImpl(wasFile1, false)), Collections.<FilePath>emptyList());
+    rollbackLocallyDeleted(Arrays.<FilePath>asList(VcsUtil.getFilePath(wasFile2, true), VcsUtil.getFilePath(wasFile1, false)), Collections.<FilePath>emptyList());
   }
 
   @Test
@@ -638,7 +639,7 @@ public class SvnRollbackTest extends Svn17TestCase {
            "D root" + File.separator + "source" + File.separator + "s2.txt"
     );
 
-    rollbackLocallyDeleted(Collections.<FilePath>singletonList(new FilePathImpl(was, true)), Collections.<FilePath>emptyList());
+    rollbackLocallyDeleted(Collections.<FilePath>singletonList(VcsUtil.getFilePath(was, true)), Collections.<FilePath>emptyList());
     runAndVerifyStatusSorted("D root" + File.separator + "source",
                "D root" + File.separator + "source" + File.separator + "s1.txt",
                "D root" + File.separator + "source" + File.separator + "s2.txt");
index dffc52f454f2ecfc223d3589cc56541d766d530e..7b92bd9dfe407a6f7d7fc660e8b5ff37c590d2c1 100644 (file)
@@ -18,7 +18,6 @@ package org.jetbrains.idea.svn;
 import com.intellij.openapi.application.ApplicationManager;
 import com.intellij.openapi.command.WriteCommandAction;
 import com.intellij.openapi.vcs.FilePath;
-import com.intellij.openapi.vcs.FilePathImpl;
 import com.intellij.openapi.vcs.ObjectsConvertor;
 import com.intellij.openapi.vcs.VcsConfiguration;
 import com.intellij.openapi.vcs.changes.VcsDirtyScopeManager;
@@ -26,6 +25,7 @@ import com.intellij.openapi.vcs.changes.VcsDirtyScopeManagerImpl;
 import com.intellij.openapi.vcs.changes.VcsDirtyScopeVfsListener;
 import com.intellij.openapi.vfs.VirtualFile;
 import com.intellij.util.TimeoutUtil;
+import com.intellij.vcsUtil.VcsUtil;
 import junit.framework.Assert;
 import org.junit.Test;
 
@@ -64,29 +64,29 @@ public class SvnTestDirtyScopeStateTest extends Svn17TestCase {
     vcsDirtyScopeManager.fileDirty(fileB);
 
     final Collection<FilePath> dirty1 = vcsDirtyScopeManager.whatFilesDirty(list);
-    Assert.assertTrue(dirty1.contains(new FilePathImpl(file)));
-    Assert.assertTrue(dirty1.contains(new FilePathImpl(fileB)));
+    Assert.assertTrue(dirty1.contains(VcsUtil.getFilePath(file)));
+    Assert.assertTrue(dirty1.contains(VcsUtil.getFilePath(fileB)));
 
-    Assert.assertTrue(! dirty1.contains(new FilePathImpl(fileC)));
-    Assert.assertTrue(! dirty1.contains(new FilePathImpl(fileD)));
+    Assert.assertTrue(! dirty1.contains(VcsUtil.getFilePath(fileC)));
+    Assert.assertTrue(! dirty1.contains(VcsUtil.getFilePath(fileD)));
 
     vcsDirtyScopeManager.retrieveScopes();
 
     final Collection<FilePath> dirty2 = vcsDirtyScopeManager.whatFilesDirty(list);
-    Assert.assertTrue(dirty2.contains(new FilePathImpl(file)));
-    Assert.assertTrue(dirty2.contains(new FilePathImpl(fileB)));
+    Assert.assertTrue(dirty2.contains(VcsUtil.getFilePath(file)));
+    Assert.assertTrue(dirty2.contains(VcsUtil.getFilePath(fileB)));
 
-    Assert.assertTrue(! dirty2.contains(new FilePathImpl(fileC)));
-    Assert.assertTrue(! dirty2.contains(new FilePathImpl(fileD)));
+    Assert.assertTrue(! dirty2.contains(VcsUtil.getFilePath(fileC)));
+    Assert.assertTrue(! dirty2.contains(VcsUtil.getFilePath(fileD)));
 
     vcsDirtyScopeManager.changesProcessed();
 
     final Collection<FilePath> dirty3 = vcsDirtyScopeManager.whatFilesDirty(list);
-    Assert.assertTrue(! dirty3.contains(new FilePathImpl(file)));
-    Assert.assertTrue(! dirty3.contains(new FilePathImpl(fileB)));
+    Assert.assertTrue(! dirty3.contains(VcsUtil.getFilePath(file)));
+    Assert.assertTrue(! dirty3.contains(VcsUtil.getFilePath(fileB)));
 
-    Assert.assertTrue(! dirty3.contains(new FilePathImpl(fileC)));
-    Assert.assertTrue(! dirty3.contains(new FilePathImpl(fileD)));
+    Assert.assertTrue(! dirty3.contains(VcsUtil.getFilePath(fileC)));
+    Assert.assertTrue(! dirty3.contains(VcsUtil.getFilePath(fileD)));
   }
 
   private void waitABit() {
@@ -119,8 +119,8 @@ public class SvnTestDirtyScopeStateTest extends Svn17TestCase {
     }.execute().throwException();
 
 
-    final FilePathImpl fp = new FilePathImpl(file);
-    final FilePathImpl fpB = new FilePathImpl(fileB);
+    final FilePath fp = VcsUtil.getFilePath(file);
+    final FilePath fpB = VcsUtil.getFilePath(fileB);
     final long start = System.currentTimeMillis();
     while (System.currentTimeMillis() < (start + 3000)) {
       synchronized (this) {
index 00172495348c8451d6d9b2e2de5519bd77b322b1..0379306aab8dbdcd459476c5920acc13ca847438 100644 (file)
  */
 package org.jetbrains.idea.svn;
 
-import com.intellij.openapi.vcs.FilePathImpl;
 import com.intellij.openapi.vcs.VcsConfiguration;
 import com.intellij.openapi.vcs.changes.Change;
 import com.intellij.openapi.vcs.changes.ChangeListManager;
 import com.intellij.openapi.vcs.changes.VcsDirtyScopeManager;
 import com.intellij.openapi.vfs.LocalFileSystem;
 import com.intellij.openapi.vfs.VirtualFile;
+import com.intellij.vcsUtil.VcsUtil;
 import junit.framework.Assert;
 import org.jetbrains.idea.svn.conflict.ConflictAction;
 import org.jetbrains.idea.svn.conflict.ConflictOperation;
@@ -348,7 +348,7 @@ public class SvnTreeConflictDataTest extends Svn17TestCase {
     ChangeListManager changeListManager = ChangeListManager.getInstance(myProject);
     changeListManager.ensureUpToDate(false);
 
-    final Change change = changeListManager.getChange(new FilePathImpl(new File(myWorkingCopyDir.getPath(), conflictFile), true));
+    final Change change = changeListManager.getChange(VcsUtil.getFilePath(new File(myWorkingCopyDir.getPath(), conflictFile), true));
     Assert.assertTrue(change instanceof ConflictedSvnChange);
     TreeConflictDescription beforeDescription = ((ConflictedSvnChange)change).getBeforeDescription();
     Assert.assertNotNull(beforeDescription);
@@ -435,7 +435,7 @@ public class SvnTreeConflictDataTest extends Svn17TestCase {
     ChangeListManager changeListManager = ChangeListManager.getInstance(myProject);
     changeListManager.ensureUpToDate(false);
 
-    final Change change = changeListManager.getChange(new FilePathImpl(new File(myWorkingCopyDir.getPath(), conflictFile), true));
+    final Change change = changeListManager.getChange(VcsUtil.getFilePath(new File(myWorkingCopyDir.getPath(), conflictFile), true));
     Assert.assertTrue(change instanceof ConflictedSvnChange);
     TreeConflictDescription beforeDescription = ((ConflictedSvnChange)change).getBeforeDescription();
     Assert.assertNotNull(beforeDescription);
@@ -463,7 +463,7 @@ public class SvnTreeConflictDataTest extends Svn17TestCase {
     ChangeListManager changeListManager = ChangeListManager.getInstance(myProject);
     changeListManager.ensureUpToDate(false);
 
-    final Change change = changeListManager.getChange(new FilePathImpl(new File(myWorkingCopyDir.getPath(), conflictFile), true));
+    final Change change = changeListManager.getChange(VcsUtil.getFilePath(new File(myWorkingCopyDir.getPath(), conflictFile), true));
     Assert.assertTrue(change instanceof ConflictedSvnChange);
     TreeConflictDescription beforeDescription = ((ConflictedSvnChange)change).getBeforeDescription();
     Assert.assertNotNull(beforeDescription);
index f5c6b65a39973020833b05ca533bbed0b7f16579..35a447fb3c28c95b6c079fa941a6efea232deb40 100644 (file)
  */
 package org.jetbrains.idea.svn16;
 
-import com.intellij.openapi.vcs.FilePathImpl;
 import com.intellij.openapi.vcs.VcsConfiguration;
 import com.intellij.openapi.vcs.changes.Change;
 import com.intellij.openapi.vcs.changes.ChangeListManager;
 import com.intellij.openapi.vcs.changes.LocalChangeList;
 import com.intellij.openapi.vcs.changes.VcsDirtyScopeManager;
 import com.intellij.openapi.vfs.VirtualFile;
+import com.intellij.vcsUtil.VcsUtil;
 import org.jetbrains.idea.svn.integrate.AlienDirtyScope;
 import org.junit.Assert;
 import org.junit.Test;
@@ -51,7 +51,7 @@ public class SvnDeleteTest extends Svn16TestCase {
     refreshVfs();
 
     final AlienDirtyScope dirtyScope = new AlienDirtyScope();
-    dirtyScope.addDir(new FilePathImpl(myWorkingCopyDir));
+    dirtyScope.addDir(VcsUtil.getFilePath(myWorkingCopyDir));
     final List<Change> changesManually = getChangesInScope(dirtyScope);
     Assert.assertEquals(2, changesManually.size());
 
index 1a6c8327600df76591dc7786e3a0f63b99c75f79..a42d9405474c101acf5765fd872843a693f9ac13 100644 (file)
@@ -21,6 +21,7 @@ import com.intellij.openapi.vcs.changes.*;
 import com.intellij.openapi.vcs.rollback.RollbackProgressListener;
 import com.intellij.openapi.vfs.LocalFileSystem;
 import com.intellij.openapi.vfs.VirtualFile;
+import com.intellij.vcsUtil.VcsUtil;
 import org.jetbrains.idea.svn.Svn17TestCase;
 import org.jetbrains.idea.svn.SvnVcs;
 import org.jetbrains.idea.svn.ignore.FileGroupInfo;
@@ -252,16 +253,16 @@ public class SvnRollbackTest extends Svn17TestCase {
     assertMovedChange(inner);
     final Change innerChange = assertMovedChange(innerFile);
 
-    final Change fantomDelete1 = new Change(new SimpleContentRevision("1", new FilePathImpl(wasLowestDir, true), "2"),
-                                            new SimpleContentRevision("1", new FilePathImpl(wasLowestDirAfter, true), "2"));
-    final Change fantomDelete2 = new Change(new SimpleContentRevision("1", new FilePathImpl(wasInnerFile1, false), "2"),
-                                            new SimpleContentRevision("1", new FilePathImpl(wasInnerFile1After, false), SVNRevision.WORKING.getName()));
+    final Change fantomDelete1 = new Change(new SimpleContentRevision("1", VcsUtil.getFilePath(wasLowestDir, true), "2"),
+                                            new SimpleContentRevision("1", VcsUtil.getFilePath(wasLowestDirAfter, true), "2"));
+    final Change fantomDelete2 = new Change(new SimpleContentRevision("1", VcsUtil.getFilePath(wasInnerFile1, false), "2"),
+                                            new SimpleContentRevision("1", VcsUtil.getFilePath(wasInnerFile1After, false), SVNRevision.WORKING.getName()));
 
     rollbackIMpl(Arrays.asList(change),
-                 Arrays.asList(new Change(new SimpleContentRevision("1", new FilePathImpl(wasInnerFile, false), "2"),
-                                          new SimpleContentRevision("1", new FilePathImpl(wasInnerFileAfter, false), SVNRevision.WORKING.getName())),
-                               new Change(new SimpleContentRevision("1", new FilePathImpl(inner2Before, true), "2"),
-                                          new SimpleContentRevision("1", new FilePathImpl(inner2After, true), SVNRevision.WORKING.getName())),
+                 Arrays.asList(new Change(new SimpleContentRevision("1", VcsUtil.getFilePath(wasInnerFile, false), "2"),
+                                          new SimpleContentRevision("1", VcsUtil.getFilePath(wasInnerFileAfter, false), SVNRevision.WORKING.getName())),
+                               new Change(new SimpleContentRevision("1", VcsUtil.getFilePath(inner2Before, true), "2"),
+                                          new SimpleContentRevision("1", VcsUtil.getFilePath(inner2After, true), SVNRevision.WORKING.getName())),
                                fantomDelete1, fantomDelete2));
     Assert.assertTrue(wasU2.exists());
   }
@@ -296,10 +297,10 @@ public class SvnRollbackTest extends Svn17TestCase {
     Assert.assertEquals("cde", getProperty(new File(innerFile.getPath()), "abc"));
 
     rollbackIMpl(Arrays.asList(change),
-                 Arrays.asList(new Change(new SimpleContentRevision("1", new FilePathImpl(innerBefore, true), "2"),
-                                          new SimpleContentRevision("1", new FilePathImpl(innerAfter, true), SVNRevision.WORKING.getName())),
-                               new Change(new SimpleContentRevision("1", new FilePathImpl(fileBefore, false), "2"),
-                                          new SimpleContentRevision("1", new FilePathImpl(fileAfter, false), SVNRevision.WORKING.getName()))));
+                 Arrays.asList(new Change(new SimpleContentRevision("1", VcsUtil.getFilePath(innerBefore, true), "2"),
+                                          new SimpleContentRevision("1", VcsUtil.getFilePath(innerAfter, true), SVNRevision.WORKING.getName())),
+                               new Change(new SimpleContentRevision("1", VcsUtil.getFilePath(fileBefore, false), "2"),
+                                          new SimpleContentRevision("1", VcsUtil.getFilePath(fileAfter, false), SVNRevision.WORKING.getName()))));
     Assert.assertEquals("cde", getProperty(fileAfter, "abc"));
   }
 
@@ -326,8 +327,8 @@ public class SvnRollbackTest extends Svn17TestCase {
     final SubTree tree = new SubTree(myWorkingCopyDir);
     checkin();
 
-    final FilePath fpSource = new FilePathImpl(new File(tree.mySourceDir.getPath()), true);
-    final FilePath fpT11 = new FilePathImpl(new File(tree.myTargetFiles.get(0).getPath()), false);
+    final FilePath fpSource = VcsUtil.getFilePath(new File(tree.mySourceDir.getPath()), true);
+    final FilePath fpT11 = VcsUtil.getFilePath(new File(tree.myTargetFiles.get(0).getPath()), false);
     VcsTestUtil.deleteFileInCommand(myProject, tree.mySourceDir);
     VcsTestUtil.deleteFileInCommand(myProject, tree.myTargetFiles.get(0));
 
@@ -517,7 +518,7 @@ public class SvnRollbackTest extends Svn17TestCase {
     final Change s1Change = assertMovedChange(tree.myS1File);
     final Change s2Change = assertMovedChange(tree.myS2File);
 
-    final FilePathImpl fp = new FilePathImpl(was2, false);
+    final FilePath fp = VcsUtil.getFilePath(was2, false);
     rollbackIMpl(Arrays.asList(dirChange, s1Change), Arrays.asList(new Change(
       new SimpleContentRevision("1", fp, "1"), new SimpleContentRevision("1", fp, SVNRevision.WORKING.getName()))));
   }
@@ -568,7 +569,7 @@ public class SvnRollbackTest extends Svn17TestCase {
     }
     Assert.assertTrue(files.isEmpty());
 
-    rollbackLocallyDeleted(Collections.<FilePath>singletonList(new FilePathImpl(wasFile, true)), Collections.<FilePath>emptyList());
+    rollbackLocallyDeleted(Collections.<FilePath>singletonList(VcsUtil.getFilePath(wasFile, true)), Collections.<FilePath>emptyList());
   }
 
   @Test
@@ -609,7 +610,7 @@ public class SvnRollbackTest extends Svn17TestCase {
     Assert.assertTrue(files.contains(deletedFiles.get(1).getPath().getIOFile()));
     Assert.assertTrue(files.contains(deletedFiles.get(2).getPath().getIOFile()));
 
-    rollbackLocallyDeleted(Arrays.<FilePath>asList(new FilePathImpl(wasFile2, true), new FilePathImpl(wasFile1, false)), Collections.<FilePath>emptyList());
+    rollbackLocallyDeleted(Arrays.<FilePath>asList(VcsUtil.getFilePath(wasFile2, true), VcsUtil.getFilePath(wasFile1, false)), Collections.<FilePath>emptyList());
   }
 
   @Test
@@ -640,7 +641,7 @@ public class SvnRollbackTest extends Svn17TestCase {
            "D root" + File.separator + "source" + File.separator + "s2.txt"
     );
 
-    rollbackLocallyDeleted(Collections.<FilePath>singletonList(new FilePathImpl(was, true)), Collections.<FilePath>emptyList());
+    rollbackLocallyDeleted(Collections.<FilePath>singletonList(VcsUtil.getFilePath(was, true)), Collections.<FilePath>emptyList());
     runAndVerifyStatusSorted("D root" + File.separator + "source",
                "D root" + File.separator + "source" + File.separator + "s1.txt",
                "D root" + File.separator + "source" + File.separator + "s2.txt");
index 66959e9f7e4a43b60b58bd8de8d617e66408c8cf..586a0327ab5447d9c00b318efda7a8ab559d17a2 100644 (file)
@@ -17,12 +17,12 @@ package org.jetbrains.idea.svn16;
 
 import com.intellij.openapi.command.WriteCommandAction;
 import com.intellij.openapi.vcs.FilePath;
-import com.intellij.openapi.vcs.FilePathImpl;
 import com.intellij.openapi.vcs.ObjectsConvertor;
 import com.intellij.openapi.vcs.VcsConfiguration;
 import com.intellij.openapi.vcs.changes.VcsDirtyScopeManager;
 import com.intellij.openapi.vcs.changes.VcsDirtyScopeManagerImpl;
 import com.intellij.openapi.vfs.VirtualFile;
+import com.intellij.vcsUtil.VcsUtil;
 import junit.framework.Assert;
 import org.junit.Test;
 
@@ -58,29 +58,29 @@ public class SvnTestDirtyScopeStateTest extends Svn16TestCase {
     vcsDirtyScopeManager.fileDirty(fileB);
 
     final Collection<FilePath> dirty1 = vcsDirtyScopeManager.whatFilesDirty(list);
-    Assert.assertTrue(dirty1.contains(new FilePathImpl(file)));
-    Assert.assertTrue(dirty1.contains(new FilePathImpl(fileB)));
+    Assert.assertTrue(dirty1.contains(VcsUtil.getFilePath(file)));
+    Assert.assertTrue(dirty1.contains(VcsUtil.getFilePath(fileB)));
 
-    Assert.assertTrue(! dirty1.contains(new FilePathImpl(fileC)));
-    Assert.assertTrue(! dirty1.contains(new FilePathImpl(fileD)));
+    Assert.assertTrue(! dirty1.contains(VcsUtil.getFilePath(fileC)));
+    Assert.assertTrue(! dirty1.contains(VcsUtil.getFilePath(fileD)));
 
     vcsDirtyScopeManager.retrieveScopes();
 
     final Collection<FilePath> dirty2 = vcsDirtyScopeManager.whatFilesDirty(list);
-    Assert.assertTrue(dirty2.contains(new FilePathImpl(file)));
-    Assert.assertTrue(dirty2.contains(new FilePathImpl(fileB)));
+    Assert.assertTrue(dirty2.contains(VcsUtil.getFilePath(file)));
+    Assert.assertTrue(dirty2.contains(VcsUtil.getFilePath(fileB)));
 
-    Assert.assertTrue(! dirty2.contains(new FilePathImpl(fileC)));
-    Assert.assertTrue(! dirty2.contains(new FilePathImpl(fileD)));
+    Assert.assertTrue(! dirty2.contains(VcsUtil.getFilePath(fileC)));
+    Assert.assertTrue(! dirty2.contains(VcsUtil.getFilePath(fileD)));
 
     vcsDirtyScopeManager.changesProcessed();
 
     final Collection<FilePath> dirty3 = vcsDirtyScopeManager.whatFilesDirty(list);
-    Assert.assertTrue(! dirty3.contains(new FilePathImpl(file)));
-    Assert.assertTrue(! dirty3.contains(new FilePathImpl(fileB)));
+    Assert.assertTrue(! dirty3.contains(VcsUtil.getFilePath(file)));
+    Assert.assertTrue(! dirty3.contains(VcsUtil.getFilePath(fileB)));
 
-    Assert.assertTrue(! dirty3.contains(new FilePathImpl(fileC)));
-    Assert.assertTrue(! dirty3.contains(new FilePathImpl(fileD)));
+    Assert.assertTrue(! dirty3.contains(VcsUtil.getFilePath(fileC)));
+    Assert.assertTrue(! dirty3.contains(VcsUtil.getFilePath(fileD)));
   }
 
   @Test
@@ -108,8 +108,8 @@ public class SvnTestDirtyScopeStateTest extends Svn16TestCase {
     }.execute().throwException();
 
 
-    final FilePathImpl fp = new FilePathImpl(file);
-    final FilePathImpl fpB = new FilePathImpl(fileB);
+    final FilePath fp = VcsUtil.getFilePath(file);
+    final FilePath fpB = VcsUtil.getFilePath(fileB);
     final long start = System.currentTimeMillis();
     while (System.currentTimeMillis() < (start + 3000)) {
       synchronized (this) {