Product Reviews

Sun World May 1992 pp68-69

Personal Productivity

Bringing "diff" into the graphical interface age

By Dave Taylor

One of the more difficult problems I face in using my computer is analyzing and merging different versions of a file. You know the problem: You send a copy of your report to a colleague and she sends it back with some modifications, but you then have no idea what has been changed. You use diff, but its output is confusing and almost useless.

Worse, sometimes when you work with source code or documentation in a source-code management system like SCCS or RCS, you end up with three different versions of a file: a baseline, or original version; a newly modified version; and a divergent third copy that someone else might have been working with too. The best solution that’s part of Unix, diff3, is unbelievably complicated and I’ve never been able to figure it out.

Entering this troubled water is Ahead Technology, a new subsidiary of Atherton Technology Inc. They sent me a beta copy of their new application, Merge Ahead, which offers a slick Motif interface utility that neatly solves these merging and difference-analysis problems. In a very intuitive manner, users simply invoke the program with either two or three filenames, and it then presents side-by-side alternatives of all portions of the file. If three files are involved the one that is more likely to be correct (based on how much the two differences diverge from the original) is presented in a lighter-color panel.

Merge Ahead is much more that just a way of looking at different files, though. It’s a way to very quickly understand and merge those differences into a new master document or source file. When I was using the program to go through a rather extensive set of differences, I simply clicked on which of the panels represented the difference I believed was best. Since each panel was actually an edit pane, I could also swoop in and add or delete text quite easily. Also at sections where there was no difference, the text was collapsed into a thin slice, with an ellipsis denoting that passage. Clicking on the ellipsis immediately expanded the area into full text, so ascertaining the context for any of the different passages if fast and straightforward.

Indeed, one thing that is impressive about Merge Ahead is that it is so simple to use. The company has made extensive use of scroll bars, so-called sashes (to change relative sizes of adjacent panels), and other graphical deviive sizes of adjacent panels), and other graphical devices to ensure that users don’t ever need to read manuals. The vendor has also included multimedia interactive help system.

Frankly, when I realized the narrow focus of this product, I was initially a bit taken aback. I mean, it’s one thing to get diff with your system, but another to purchase a product for one task, and one task alone. But using this Merge Ahead changed my mind. If, like me, you ever find yourself having to merge text or (even more confusingly) source code, this could easily pay for itself in productivity boosts within hours of installation.