private void addWithParents()

in src/net/sourceforge/transparent/TransparentVcs.java [463:484]


  private void addWithParents(VirtualFile file) throws VcsException {
    final VcsDirtyScopeManager vcsDirtyScopeManager = VcsDirtyScopeManager.getInstance(myProject);
    VirtualFile current = file;
    final VirtualFile vcsRootFor = ProjectLevelVcsManager.getInstance(myProject).getVcsRootFor(file);
    if (vcsRootFor == null) {
      throw new VcsException("Can not find VCS root for " + file.getPath());
    }
    while (current != null) {
      if (newFiles.contains(current)) return;
      final Status status = getStatus(current);
      if (Status.NOT_AN_ELEMENT.equals(status)) {
        newFiles.add(current);
        if (current.isDirectory()) {
          vcsDirtyScopeManager.dirDirtyRecursively(current);
        }
      } else {
        return;
      }
      if (current.equals(vcsRootFor)) return;
      current = current.getParent();
    }
  }