A while ago we wrote about some of the most essential web dev tools, and mentioned Changes as one powerful tool to compare versions of text files. Then came along Kaleidoscope, with a superior user interface, the ability to compare graphics, and basically stole the show. Some argued that Changes was still better while handling text, but personally I didn’t use the tools extensively enough to write a fair comparison. I had almost forgotten about this app scene, and decided on using Kaleidoscope if and when needed. Turns out, the perfect tool is provided by Apple itself, for free. Perfect in the sense that it’s free and does just what I need it to.
It’s called FileMerge, and is bundled along with the developer tools package, which can be installed using the OS X install DVD, or better still downloaded from developer.apple.com (registration required). My thanks to SA reader Josh for letting me know about this.
The app starts with a fairly basic file selector. Use the file browser to select your left and right files — you can of course drag them in just as well. Once you have your files loaded, click Compare. The resultant window is the familiar two pane text comparison UI. It’s butt ugly, but it works in its basic task. There’s no code highlighting, no versioning, no line numbers. It also can’t compare folders or images.
FileMerge does have a few tricks up its sleeve. Its sidebar has little lines indicating that something has changed, much like EchoFon for Mac shows you mentions in your tweet stream (who copied whom?). When you scroll, FileMerge maintains the relative location across both documents. Now comes the part about merging. By default, FileMerge will favour the document on the right. To use the left side instead, click the arrow, and from the actions menu, select “Left”, or any one of the other actions that make sense.
To view your final output, pull up the drawer, denoted by the tiny little aqua-esque bullet at the bottom of the window, and review your changes. You can even directly make changes to the output, and when you’re done, save the merged file and be on your way.
To sum up: If you need to do file merges every day in your workflow, you definitely need something more flexible than FileMerge. Kaleidoscope would be my app of choice. But for that occasional comparison, nothing beats the price of free!
[Thanks again to Josh Sunshine for the tip off]