private void analyzeWritableFilesByDirectory()

in src/com/intellij/vssSupport/VssChangeProvider.java [344:376]


  private void analyzeWritableFilesByDirectory( FilePath filePath, List<String> writableFiles,
                                                HashSet<String> newFiles, HashSet<String> changed,
                                                HashSet<String> hijacked )
  {
    ArrayList<VcsException> errors = new ArrayList<>();
    DirectoryCommand cmd = new DirectoryCommand( project, filePath.getPath(), errors );
    cmd.execute();

    //  If any error occured, most probably it is the critical one - others are
    //  processed on the "by line" basis (and per file correspondingly).
    if( errors.size() > 0 )
    {
      VcsImplUtil.showErrorMessage(project, cmd.getErrors().get(0).getMessage(),
                                   VssBundle.message("message.title.check.status"));
    }
    else
    {
      for( String path : writableFiles )
      {
        if (progress != null) {
          progress.checkCanceled();
        }
        String oldPath = VssChangeProvider.discoverOldName( host, path ).toLowerCase();
        if( !cmd.isInProject( oldPath ) )
          newFiles.add( path );
        else
        if( !cmd.isCheckedOut( oldPath ))
          hijacked.add( path );
        else
          changed.add( path );
      }
    }
  }