http://kdiff3.sourceforge.net/
A visual text file differencing and merging tool for Unix and Win32 platforms. Useful for determing what has changed between project versions, and then merging changes between versions.
This visual diff program provides a 3-way diff and editor, and highlights changed characters rather than just changed lines like most diffs do. It's based on QT, and therefore runs on Windows and Linux (binaries for i386 provided), and supposedly any other OS supported by QT but you'll have to compile it yourself.
A 3-way diff allows one easily to merge changes from two distinct development branches. You diff a "base" revision from which the two branches emerge against both revisions at the same time, and can easily move changes from any of the 3 versions to any of the others.
See the kdiff3 site for more info.

