From b4f97a5d683834c2b5a7c67fcb06e5dbf59adcf9 Mon Sep 17 00:00:00 2001 From: irengrig Date: Tue, 3 Apr 2012 15:20:09 +0400 Subject: [PATCH] IDEA-83780 Subversion: nested working copies are detected incorrectly when they are used as same module roots, not separate modules --- .../idea/svn/SvnRecursiveStatusWalker.java | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/plugins/svn4idea/src/org/jetbrains/idea/svn/SvnRecursiveStatusWalker.java b/plugins/svn4idea/src/org/jetbrains/idea/svn/SvnRecursiveStatusWalker.java index 110329c8c78b..ad8ae4a82460 100644 --- a/plugins/svn4idea/src/org/jetbrains/idea/svn/SvnRecursiveStatusWalker.java +++ b/plugins/svn4idea/src/org/jetbrains/idea/svn/SvnRecursiveStatusWalker.java @@ -17,6 +17,7 @@ package org.jetbrains.idea.svn; import com.intellij.openapi.project.Project; import com.intellij.openapi.vcs.FilePath; +import com.intellij.openapi.vcs.FilePathImpl; import com.intellij.openapi.vfs.LocalFileSystem; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.vcsUtil.VcsUtil; @@ -205,9 +206,17 @@ public class SvnRecursiveStatusWalker { if ((vFile != null) && myPartner.isExcluded(vFile)) return; if ((vFile != null) && (SvnVcs.svnStatusIsUnversioned(status))) { - myReceiver.processUnversioned(vFile); if (vFile.isDirectory()) { - processRecursively(vFile, myCurrentItem.getDepth()); + if (myCurrentItem.getPath().getIOFile().equals(ioFile)) { + myReceiver.processUnversioned(vFile); + processRecursively(vFile, myCurrentItem.getDepth()); + } else { + final MyItem childItem = new MyItem(myProject, new FilePathImpl(vFile), SVNDepth.INFINITY, + myPartner.createStatusClient(), true); + myQueue.add(childItem); + } + } else { + myReceiver.processUnversioned(vFile); } } else { final FilePath path = VcsUtil.getFilePath(ioFile, status.getKind().equals(SVNNodeKind.DIR));