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 );
}
}