mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
getVcsRootObjectFor: smaller read action (IDEA-CR-29817)
e.g. to allow for VFS refresh in findValidParentAccurately
This commit is contained in:
@@ -17,7 +17,6 @@
|
||||
package com.intellij.openapi.vcs.impl;
|
||||
|
||||
import com.intellij.openapi.application.ReadAction;
|
||||
import com.intellij.openapi.components.ServiceManager;
|
||||
import com.intellij.openapi.diagnostic.Logger;
|
||||
import com.intellij.openapi.module.Module;
|
||||
import com.intellij.openapi.module.ModuleManager;
|
||||
@@ -116,8 +115,7 @@ public class ModuleDefaultVcsRootPolicy extends DefaultVcsRootPolicy {
|
||||
@Override
|
||||
@Nullable
|
||||
public VirtualFile getVcsRootFor(@NotNull VirtualFile file) {
|
||||
FileIndexFacade indexFacade = ServiceManager.getService(myProject, FileIndexFacade.class);
|
||||
if (myBaseDir != null && indexFacade.isValidAncestor(myBaseDir, file)) {
|
||||
if (myBaseDir != null && ReadAction.compute(() -> FileIndexFacade.getInstance(myProject).isValidAncestor(myBaseDir, file))) {
|
||||
LOG.debug("File " + file + " is under project base dir " + myBaseDir);
|
||||
return myBaseDir;
|
||||
}
|
||||
|
||||
@@ -325,12 +325,10 @@ public class ProjectLevelVcsManagerImpl extends ProjectLevelVcsManagerEx impleme
|
||||
|
||||
@Override
|
||||
public VcsRoot getVcsRootObjectFor(@Nullable FilePath file) {
|
||||
return ReadAction.compute(() -> {
|
||||
if (file == null || myProject.isDisposed()) return null;
|
||||
if (file == null) return null;
|
||||
|
||||
VirtualFile vFile = ChangesUtil.findValidParentAccurately(file);
|
||||
return vFile != null ? getVcsRootObjectFor(vFile) : null;
|
||||
});
|
||||
VirtualFile vFile = ChangesUtil.findValidParentAccurately(file);
|
||||
return vFile != null ? getVcsRootObjectFor(vFile) : null;
|
||||
}
|
||||
|
||||
public void unregisterVcs(@NotNull AbstractVcs vcs) {
|
||||
|
||||
Reference in New Issue
Block a user