private static void processLogPart()

in src/com/intellij/vssSupport/DiffDirParser.java [34:80]


  private static void processLogPart( String out )
  {
    //-------------------------------------------------------------------------
    //  First two lines of the subproject difference part are:
    //  |Diffing: $/VssSubprojectPath
    //  |Against: LocalPath
    //
    //  We need to extract local path in order to merge it with parsed file
    //  names to produce fully readable complete local path. After trimming
    //  "Diffing" part, first line is always an "Against" tag.
    //-------------------------------------------------------------------------

    int index = out.lastIndexOf( DIFF_LOCAL_PATH_PREFIX );
    if( index == -1 )
      return;
    
    out = out.substring( index );
    String   basePath = extractBasePath( out );

    //-------------------------------------------------------------------------
    //  We process sections in reversed order : so find the beginning of the
    //  section describing files that differ from that in the VssProject, then
    //  section for files which are in the repository and not in local storage
    //  and then files which are presented locall but not in the repository.
    //-------------------------------------------------------------------------
    index = out.lastIndexOf( FILE_DIFFERENT_SIG );
    if( index > 0 )
    {
      String diffPart = out.substring( index );
      processDiffingPart( diffPart, basePath );
      out = out.substring( 0, index - 1 );
    }
    index = out.lastIndexOf( VSSFILES_SIG );
    if( index > 0 )
    {
      String vssPart = out.substring( index );
      processRepositoryPart( vssPart, basePath );
      out = out.substring( 0, index - 1 );
    }

    index = out.lastIndexOf( LOCALFILES_SIG );
    if( index > 0 )
    {
      String localPart = out.substring( index );
      processLocals( localPart, basePath );
    }
  }