summaryrefslogtreecommitdiff
path: root/plugins/svn4idea/src/org/jetbrains/idea/svn/SvnRecursiveStatusWalker.java
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/svn4idea/src/org/jetbrains/idea/svn/SvnRecursiveStatusWalker.java')
-rw-r--r--plugins/svn4idea/src/org/jetbrains/idea/svn/SvnRecursiveStatusWalker.java21
1 files changed, 13 insertions, 8 deletions
diff --git a/plugins/svn4idea/src/org/jetbrains/idea/svn/SvnRecursiveStatusWalker.java b/plugins/svn4idea/src/org/jetbrains/idea/svn/SvnRecursiveStatusWalker.java
index 1b1cd00589d0..13c15b23efa8 100644
--- a/plugins/svn4idea/src/org/jetbrains/idea/svn/SvnRecursiveStatusWalker.java
+++ b/plugins/svn4idea/src/org/jetbrains/idea/svn/SvnRecursiveStatusWalker.java
@@ -103,7 +103,7 @@ public class SvnRecursiveStatusWalker {
if (e.contains(SVNErrorCode.WC_NOT_DIRECTORY) || e.contains(SVNErrorCode.WC_NOT_FILE)) {
final VirtualFile virtualFile = path.getVirtualFile();
if (virtualFile != null) {
- if (! myPartner.isExcluded(virtualFile)) {
+ if (! myPartner.isIgnoredByVcs(virtualFile)) {
// self is unversioned
myReceiver.processUnversioned(virtualFile);
@@ -184,15 +184,20 @@ public class SvnRecursiveStatusWalker {
}
};
if (Depth.EMPTY.equals(newDepth)) {
- directoryFilter = Processor.TRUE;
+ // just process immediate children - so only root directory itself should satisfy filter
+ directoryFilter = new Processor<File>() {
+ @Override
+ public boolean process(File file) {
+ return FileUtil.filesEqual(ioFile, file);
+ }
+ };
processor = new Processor<File>() {
@Override
public boolean process(File file) {
- // here we deal only with immediate children - so ignored on IDEA level for children is not important - we nevertheless do not go into
- // other levels
- if (! FileUtil.filesEqual(ioFile, file)) return true;
- if (! FileUtil.filesEqual(ioFile, file.getParentFile())) return false;
- return checkDirProcessor.process(file);
+ // TODO: check if we should still call checkDirProcessor() here - or we really could not check ignore settings but just call
+ // TODO: myReceiver.processUnversioned() for all immediate children
+ // here we deal only with immediate children - so ignored on IDEA level for children is not important
+ return FileUtil.filesEqual(ioFile, file) || checkDirProcessor.process(file);
}
};
} else {
@@ -278,7 +283,7 @@ public class SvnRecursiveStatusWalker {
@Override
public Boolean compute() {
if (myProject.isDisposed()) return null;
- return myPartner.isExcluded(vFile);
+ return myPartner.isIgnoredByVcs(vFile);
}
});
if (Boolean.TRUE.equals(excluded)) return;