Heute möchte ich gleich drei Programme des Tages küren, weil sie alle ihre Sache gut machen und für mich jeweils eine Nische derselben Aufgabe besetzen: kdiff3, meld und kompare. Alle drei verwende ich, um mir die Unterschiede zwischen Texten anzeigen zu lassen. Das kann nicht nur für Programmierer beim Vergleichen von Quellcodes hilfreich sein. Jeder, der feststellen will, welche Unterschiede zwei Varianten eines Texts haben, kann von solchen Diff-GUIs profitieren.
kdiff3
kdiff3 (dessen Paket ich unter Debian betreue) ist meine erste Wahl zum Vergleichen von Dateien und Verzeichnisbäumen. Außerdem verwenden wir es bei meinem Arbeitgeber (dort unter Windows), um die Versionskontrollverwaltung Unterschiede anzeigen zu lassen und Probleme, die entstehen, wenn zwei Leute am selben Code gearbeitet haben, möglichst automatisch lösen zu lassen.
Eine Besonderheit an kdiff3 ist nämlich, dass es die „Verwandtschaft“ von Dateien berücksichtigen kann. Gibt man dem Programm ein Original und zwei geänderte Versionen, kann es im Optimalfall die Änderungen zusammenführen. So kann es beim Beispiel im Bild entscheiden, welche Stellen in den beiden Texten rechts Änderungen im Vergleich zum Original (links) sind und sie zu einer gemeinsamen Version (unten) vereinen.
Man kann auch für nicht auflösbare Konflikte (und auch alle anderen) selbst eine Version auswählen. Schließlich kann das Ergebnis auch noch händisch bearbeitet werden, das aber eher so mittel-komfortabel.
meld
Meld verwende ich, wenn ich zwei Dateien abgleichen will, also mal eine Änderung von A nach B und mal eine von B nach A bringen will. Im Gegensatz zu kdiff3 kann man Inhalte zwischen zwei Dateien direkt hin und her kopieren (auch per Mausklick) und so beide abändern. Bei Bedarf kann man auch bequem händisch nacharbeiten.
kompare
kompare schließlich hat seine Spezialität im Anzeigen von Patch-Dateien. Wenn man zu Quellcode nur die Unterschiede gespeichert hat, kann kompare diese „diff“- oder „patch“-Datei grafisch anzeigen und die darin enthaltenen Änderungen übersichtlich darstellen. Kompare kann wohl auch solche Patch-Dateien erstellen und auf vorhandene Dateien anwenden, beides habe ich aber noch nicht ausprobiert.
Alle drei Programme sind (wie immer in diesem Blog) für Linux erhältlich, für andere Systeme gibt es sie teilweise auch.