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