Community
Participate
Working Groups
Allow the user to specify a comparison tool for use in the "Team -> Compare with -> .... " option and when inspecting files from the "Team -> Synchronize with -> ...." option. Eclipse should integrate this comparison/merge tool into the workspace, or (not ideal) launch the tool externally. The configuration can be specified using command line options [someProgram.exe <file1> <file2>], although additional command line options should be allowed. The integration should be a replacement to the existing comparison tool (meaning features such as comparison between remote and local copies are retained). Merging files should update the current copy of the source in the workspace (as opposed to a temporary file). This extension will give the user the flexibility to compare complex file types not known to the existing compare tool and use custom merging algorithms.
After 3.0
Reopening
That's a great idea! Michael have you made any research in this area? I would be happy to give it a try (as soon as I can), but that would be a start from scratch. Do you or anyone else have any experience in integrating external comparison tools the way reporter asks? Could your work on Word Document comparison be a good starting point? Would this require to write a generic contentMergeViewer for embedding external tools?
Writing a generic contentMergeViewer for external tools would be complicated. I did give it some thought but I didn't get very far. The first step for this may be to add the ability to register multiple compare viewers for a content type where the user would pick which one to use if there were conflicts). You could then imagine that a third party could create a compare merge viewer that launches a separate window like the window merge does. If such a viewer could be associated with the Text content type and the user had the ability to specify that they wanted this viewer used for all TEXT types (i.e. UI that says use the merger for the target type and all sub-types) then I think that would do it.