Winmerge is the best program for comparing files in Windows. What is the equivalent in Linux? How do you compare your disk to a backup to find differences? How do you compare multiple disks to merge files without duplication? Winmerge does more than one job and here are the replacements you can use in when you work on a Linux based computer.
Winmerge does several things. Winmerge can compare files, can display the files side by side with differences highlighted, and can copy from one file to another so you can merge the differences. Winmerge can compare directories and highlight all the differences, both files that are missing from one directory, and files that are different. You need replacements for all the features.
Gnome or KDE?
Linux has two main user interfaces, Gnome and KDE. Gnome is the default and the most popular. KDE has fewer users and, in some areas, fewer programs that work with KDE. Most programs work both in KDE and Gnome. Think of KDE to Gnome in the same way as people think of Apple Mac versus Windows. Windows and Gnome are the default installations. Lots of people know how to use Gnome or Windows. The Mac OSX user interface and KDE are less popular because, for most people, they do not have enough advantages to be worth the effort of learning something different.
Look at the success of Firefox. A big part of that success is the ability to start Firefox on any operating system and use Firefox without difficulty. The application is more important than the operating system.
Worth a look
The following programs are worth looking at. Installation and removal on Ubuntu Linux is so easy that you can install, test, and clean up in 10 minutes.
I originally did not find anything for Linux that what Winmerge does. Meld is now close enough to be worth a look if the only thing you do in life is edit source code.
There are several programs that do one part of what Winmerge does but only one of the many parts. If you search for the answer to
What is the equivalent to Winmerge in Linux?, you get 61500 pages recommending the same list of programs for comparing two or three text files and some of them are as good as Winmerge for that function.
Some of the recommended programs can compare directories of source code but not anything else. Almost every project on a computer uses some files that are not text files. You need a program to compare directories containing any type of files. There is nothing recommended for Linux that works.
There are some other nice features of Winmerge. When you switch from Winmerge to the primitive user interface of some Linux programs, it is enough to send you back to Windows. I am currently looking at converting several of my Linux disks from Ext4 to NTFS so I can access the disks from Windows and use Winmerge on Windows.
Other comparison programs
Many Linux applications are just pretty front ends for utilities. A serious problem with the utility approach is the lack of communication between the utility and the front end. Progress information is misleading. Error messages are useless. If the utility can only compare text files then directory compares are useless for anything outside of a simple program source code comparison.
The following programs all look like they were designed purely to compare directories of source code. You cannot compare directories of photographs or project directories containing files in a format that is not text. The following programs cannot compete with Winmerge because they cannot compare files.
KDiff3 is a monster download because KDiff3 uses KDE and has to install KDE under Gnome. In effect KDiff3 duplicates the Gnome user interface with KDE then runs in the duplicate. Use the smaller KDiff3-qt.
KDiff3 is dependent on KDE and Qt. Qt runs on every operating system. The KDE stuff might work everywhere but compatibility is less.
KDiff3 is listed in the Ubuntu Software Centre and can be downloaded from http://kdiff3.sourceforge.net/. The download is 63.2 MegaBytes and the program uses a massive 228 MB on disk because of all the KDE junk.
A KDiff3 side by side comparison of two text files looks like the Winmerge side by side comparison. KDiff3 lets you compare three files at the same time and this is the one real advantage of KDiff3.
KDiff3 is a monster download because KDiff3 has to also install KDE. KDiff3-qt is KDiff3 with the KDE overhead removed. KDiff3-qt is dependent only on Qt. The one big disadvantage of KDiff3-qt is the need to start KDiff3-qt using the 1950s terminal emulation program, the classic DOS/Linux/Command line interface.
KDiff3 is listed in the Ubuntu Software Centre and can be downloaded from http://kdiff3.sourceforge.net/. The download is 7.9 MegaBytes and the program uses 27.8 MB on disk.
A KDiff3 side by side comparison of two text files looks like the Winmerge side by side comparison. KDiff3 lets you compare three files at the same time. I cannot see an advantage of KDiff3-qt over xxdiff and equivalents.
Eclipse is a monster program written in Java and has lots of add on programs including comparison and diff programs. You install the Java monster first then the Eclipse monster then all the add-ons you want. Eclipse is not worth the effort unless you use many of the Eclipse features.
Kompare looks like Meld and a bunch of other graphical front ends for test file comparisons. You can can compare directories but not directories containing anything other than text, making Kompare useless for most comparisons.
Kompare is in the Ubuntu Software Centre and can be downloaded at http://www.caffeinated.me.uk/kompare/.
Meld performs two and three way text file comparisons using an external utility. Meld can compare directories but not binary files, making Meld useless for comparing disks or backups or projects or just about everything.
Meld is in the Ubuntu Software Centre and can be downloaded at http://meld.sourceforge.net/. The screenshots of the current meld make Meld look primitive. The screenshot of the new version in development show better class, a nicer looking result. The download is only 3532 KiloBytes and it uses only 2.2 MB on disk.
Update July 2012: I tested the latest Meld and it is nice. Not quite Winmerge nice yet. I tested only on directories of source code, not a full task. There are some silly little things in the user interface. I think I can learn to live with the differences. Given the current rate of improvement for Meld, I expect all the user interface weirdness to disappear in the next release. I left Meld installed in my computer and may use it again when I have only source code to compare. Read more in Meld.
Xxdiff is a graphical user interface and uses an external utility, GNU diff, SGI diff, or ClearCase cleardiff, to perform file comparisons. Because xxdiff cannot perform a native file comparison, an xxdiff directory comparison is almost always useless for everything I do. The best xxdiff can do is compare two directories of source code.
To make matters worse, you have to start xxdiff through a 1950s DOS/Linux/Unix command line. Instead of browsing for your files or directories, you have to use something else to find the files then write down the file names then type the file names in as part of the xxdiff command. Primitive. Useless.
Xxdiff is listed in the Ubuntu Software Centre. The download is 3.8 MegaBytes and the program uses 11 MB on disk.
Xxdiff is written in C++ and could be compiled on any operating system. Xxdiff uses Qt for the user interface graphics and Qt runs on most operating systems including mobile phone operating systems. Xxdiff works on Linux, Unix, the Unix named OSX, and Windows but the Windows version is out of date.
An xxdiff side by side comparison of two text files looks like the Winmerge side by side comparison, except for the formatting. Xxdiff starts with black text on an an ugly grey background that makes the text hard to read. One of the first changes to xxdiff should be to switch off that background colour.
I deleted xxdiff after a few frustrating attempts to use it.