- cyclic dependency - vcs-impl from lang-impl. sorry

This commit is contained in:
irengrig
2009-11-16 10:52:56 +03:00
parent ed508e4143
commit 7371d580fa
6 changed files with 17 additions and 14 deletions
@@ -17,12 +17,15 @@
package com.intellij.openapi.vcs.changes.patch;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.psi.PsiDirectory;
import com.intellij.psi.PsiFile;
import com.intellij.psi.search.FilenameIndex;
import com.intellij.psi.search.GlobalSearchScope;
import org.jetbrains.annotations.Nullable;
import java.util.Collection;
/**
* @author yole
*/
@@ -54,4 +57,8 @@ public class PsiPatchBaseDirectoryDetector extends PatchBaseDirectoryDetector {
}
return null;
}
public Collection<VirtualFile> findFiles(final String fileName) {
return FilenameIndex.getVirtualFilesByName(myProject, fileName, GlobalSearchScope.projectScope(myProject));
}
}
@@ -155,7 +155,7 @@ public class VcsQuickListPopupAction extends QuickSwitchSchemeAction implements
}
// by current file
final VirtualFile file = dataContext != null ? LangDataKeys.VIRTUAL_FILE.getData(dataContext) : null;
final VirtualFile file = dataContext != null ? PlatformDataKeys.VIRTUAL_FILE.getData(dataContext) : null;
if (file != null) {
final AbstractVcs vscForFile = ProjectLevelVcsManager.getInstance(project).getVcsFor(file);
if (vscForFile != null) {
@@ -73,8 +73,8 @@ public class ScheduleForAdditionAction extends AnAction implements DumbAware {
if (dataContext == null) {
return null;
}
final Project project = LangDataKeys.PROJECT.getData(dataContext);
final VirtualFile file = project == null ? null : LangDataKeys.VIRTUAL_FILE.getData(dataContext);
final Project project = PlatformDataKeys.PROJECT.getData(dataContext);
final VirtualFile file = project == null ? null : PlatformDataKeys.VIRTUAL_FILE.getData(dataContext);
if (file != null && FileStatusManager.getInstance(project).getStatus(file) == FileStatus.UNKNOWN) {
return file;
}
@@ -17,8 +17,6 @@ package com.intellij.openapi.vcs.changes.patch;
import com.intellij.openapi.actionSystem.*;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.diff.DiffRequestFactory;
import com.intellij.openapi.diff.MergeRequest;
import com.intellij.openapi.diff.impl.patch.FilePatch;
import com.intellij.openapi.diff.impl.patch.PatchReader;
import com.intellij.openapi.diff.impl.patch.PatchSyntaxException;
@@ -45,21 +43,15 @@ import com.intellij.openapi.vcs.ZipperUpdater;
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.actions.ChangeDiffRequestPresentable;
import com.intellij.openapi.vcs.changes.actions.DiffPresentationReturnValue;
import com.intellij.openapi.vcs.changes.actions.DiffRequestPresentable;
import com.intellij.openapi.vcs.changes.actions.ShowDiffAction;
import com.intellij.openapi.vcs.changes.ui.*;
import com.intellij.openapi.vfs.LocalFileSystem;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.psi.search.FilenameIndex;
import com.intellij.psi.search.GlobalSearchScope;
import com.intellij.psi.search.ProjectScope;
import com.intellij.ui.DocumentAdapter;
import com.intellij.ui.SimpleColoredComponent;
import com.intellij.ui.SimpleTextAttributes;
import com.intellij.util.Consumer;
import com.intellij.util.Icons;
import com.intellij.util.containers.Convertor;
import com.intellij.util.containers.MultiMap;
import org.jetbrains.annotations.NonNls;
@@ -205,7 +197,6 @@ public class ApplyPatchDifferentiatedDialog extends DialogWrapper {
final VirtualFile baseDir = myProject.getBaseDir();
final List<FilePatchInProgress> result = new ArrayList<FilePatchInProgress>(list.size());
final GlobalSearchScope scope = ProjectScope.getProjectScope(myProject);
final List<TextFilePatch> creations = new LinkedList<TextFilePatch>();
final MultiMap<String, VirtualFile> foldersDecisions = new MultiMap<String, VirtualFile>() {
@Override
@@ -218,6 +209,7 @@ public class ApplyPatchDifferentiatedDialog extends DialogWrapper {
}
};
final PatchBaseDirectoryDetector directoryDetector = PatchBaseDirectoryDetector.getInstance(myProject);
for (TextFilePatch patch : list) {
if (patch.isNewFile() || (patch.getBeforeName() == null)) {
creations.add(patch);
@@ -226,7 +218,7 @@ public class ApplyPatchDifferentiatedDialog extends DialogWrapper {
final String fileName = patch.getBeforeFileName();
final Collection<VirtualFile> files = ApplicationManager.getApplication().runReadAction(new Computable<Collection<VirtualFile>>() {
public Collection<VirtualFile> compute() {
return FilenameIndex.getVirtualFilesByName(myProject, fileName, scope);
return directoryDetector.findFiles(fileName);
}
});
final Collection<VirtualFile> variants = filterVariants(patch, files);
@@ -17,8 +17,11 @@ package com.intellij.openapi.vcs.changes.patch;
import com.intellij.openapi.components.ServiceManager;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.vfs.VirtualFile;
import org.jetbrains.annotations.Nullable;
import java.util.Collection;
/**
* @author yole
*/
@@ -30,6 +33,8 @@ public abstract class PatchBaseDirectoryDetector {
@Nullable
public abstract Result detectBaseDirectory(String name);
public abstract Collection<VirtualFile> findFiles(String fileName);
public static class Result {
public String baseDir;
public int stripDirs;
-1
View File
@@ -10,7 +10,6 @@
<orderEntry type="module" module-name="vcs-api" />
<orderEntry type="module" module-name="platform-api" />
<orderEntry type="module" module-name="platform-impl" />
<orderEntry type="module" module-name="lang-impl" />
</component>
</module>