mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
iterate dirty scope using actual vfs
This commit is contained in:
@@ -419,7 +419,7 @@ public class VcsDirtyScopeImpl extends VcsModifiableDirtyScope {
|
||||
THashSet<FilePath> dirsByRoot = myDirtyDirectoriesRecursively.get(root);
|
||||
if (dirsByRoot != null) {
|
||||
for (FilePath dir : dirsByRoot) {
|
||||
final VirtualFile vFile = dir.getVirtualFile();
|
||||
final VirtualFile vFile = obtainVirtualFile(dir);
|
||||
if (vFile != null && vFile.isValid()) {
|
||||
myVcsManager.iterateVfUnderVcsRoot(vFile, processor);
|
||||
}
|
||||
@@ -431,13 +431,13 @@ public class VcsDirtyScopeImpl extends VcsModifiableDirtyScope {
|
||||
final THashSet<FilePath> files = myDirtyFiles.get(root);
|
||||
if (files != null) {
|
||||
for (FilePath file : files) {
|
||||
if (file.getVirtualFile() != null) {
|
||||
processor.process(file.getVirtualFile());
|
||||
}
|
||||
final VirtualFile vFile = file.getVirtualFile();
|
||||
if (vFile != null && vFile.isValid() && vFile.isDirectory()) {
|
||||
for (VirtualFile child : vFile.getChildren()) {
|
||||
processor.process(child);
|
||||
VirtualFile vFile = obtainVirtualFile(file);
|
||||
if (vFile != null && vFile.isValid()) {
|
||||
processor.process(vFile);
|
||||
if (vFile.isDirectory()) {
|
||||
for (VirtualFile child : vFile.getChildren()) {
|
||||
processor.process(child);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -445,6 +445,12 @@ public class VcsDirtyScopeImpl extends VcsModifiableDirtyScope {
|
||||
}
|
||||
}
|
||||
|
||||
@Nullable
|
||||
private static VirtualFile obtainVirtualFile(FilePath file) {
|
||||
VirtualFile vFile = file.getVirtualFile();
|
||||
return vFile == null ? VfsUtil.findFileByIoFile(file.getIOFile(), false) : vFile;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isEmpty() {
|
||||
return myDirtyDirectoriesRecursively.isEmpty() && myDirtyFiles.isEmpty();
|
||||
|
||||
Reference in New Issue
Block a user