public void everythingFinishedImpl()

in src/com/intellij/vssSupport/commands/DiffFileCommand.java [84:123]


    public void everythingFinishedImpl( final String output )
    {
      if( output.indexOf( DELETED_MESSAGE ) != -1 ||
          output.indexOf( NOT_EXISTING_MESSAGE ) != -1 )
      {
        VcsException e = new VcsException( output );
        e.setVirtualFile( myFile );
        myErrors.add( e );
      }
      else
      {
        if (VssUtil.EXIT_CODE_FAILURE == getExitCode()) {
          VssUtil.showErrorOutput(output, myProject);
          return;
        }
        try
        {
          String title = VssBundle.message("dialog.title.diff.for.file", myFile.getPresentableUrl());

          String title1 = VssBundle.message("diff.content.title.repository");
          String title2 = VssBundle.message("diff.content.title.local");

          final LocalFileSystem lfs = LocalFileSystem.getInstance();
          VirtualFile tmpFile = lfs.findFileByIoFile(myTmpFile);
          if (tmpFile == null) {
            tmpFile = lfs.refreshAndFindFileByIoFile(myTmpFile);
          }
          if (tmpFile == null) throw new IOException("File not found" + tmpFile);

          DiffContent vssContent = DiffContentFactory.getInstance().create(myProject, tmpFile);
          DiffContent currentContent = DiffContentFactory.getInstance().create(myProject, myFile);

          DiffRequest request = new SimpleDiffRequest(title, vssContent, currentContent, title1, title2);
          DiffManager.getInstance().showDiff(myProject, request);
        }
        catch (IOException e) {
          myErrors.add( new VcsException(e.getLocalizedMessage()) );
        }
      }
    }