private void collectNewChangesBack()

in src/com/intellij/vssSupport/Checkin/VssRollbackEnvironment.java [110:146]


  private void collectNewChangesBack( List<Change> changes, HashSet<FilePath> newFilesAndFolders,
                                      HashSet<FilePath> processedFiles )
  {
    HashSet<FilePath> foldersNew = new HashSet<>();
    for( Change change : changes )
    {
      if( VcsUtil.isChangeForNew( change ) )
      {
        FilePath filePath = change.getAfterRevision().getFile();

        newFilesAndFolders.add( filePath );
        if( filePath.isDirectory() )
          foldersNew.add( filePath );

        processedFiles.add( filePath );
      }
    }

    ChangeListManager clMgr = ChangeListManager.getInstance(project);
    FileStatusManager fsMgr = FileStatusManager.getInstance(project);
    List<VirtualFile> allAffectedFiles = clMgr.getAffectedFiles();

    for( VirtualFile file : allAffectedFiles )
    {
      if( fsMgr.getStatus( file ) == FileStatus.ADDED )
      {
        for( FilePath folder : foldersNew )
        {
          if( file.getPath().toLowerCase().startsWith( folder.getPath().toLowerCase() ))
          {
            FilePath path = clMgr.getChange( file ).getAfterRevision().getFile();
            newFilesAndFolders.add( path );
          }
        }
      }
    }
  }