From Thingamahoochie Software:
Winmerge Pdf
WinMerge is an Open Source visual text file differencing and merging tool for Win32 platforms. It is highly useful for determing what has changed between project versions, and then merging changes between versions. Beyond Compare 3 Pro supports three-way merging, and it is a pretty impressive merge tool.It's commercial (but worth it, IMHO) and is available on Windows, Linux, and Mac OS X. As pointed out in a comment, it's also inexpensive.
WinMerge is a tool for visual difference display and merging, for both files and directories. It is highly useful for determining what has changed between file versions, and then merging those changes. WinMerge has Unicode support, Flexible syntax coloring editor, Visual SourceSafe integration, and Windows Shell integration. Regexp filtering for filenames and lines. Side-by-side line difference and highlights differences inside lines. A file map shows the overall file differences in a location pane. The user interface is translated into several languages.