Vergleich von Dateien, Verzeichnissen und Versionen mit Meld

Meld Logo Meld ist meine Empfehlung für Entwickler, Webmaster und Administratoren die mit Gnome als Desktopoberfläche unterwegs sind. Es bereitet Dateiunterschiede grafisch einfach und intuitiv auf. Dank dem integriertem Editor (kann man auch umstellen) lassen sich die ermittelten Unterschiede dann auch flott bearbeiten. Zu dem bietet Meld eine ganze Anzahl von nützlichen Tools und Features.

Ein einfacher Dateivergleich

Unterschiede im PHP-Quellcode
Abbildung 1: Unterschiede im PHP-Quellcode zweier Dateien
aus verschiedenen Versionen des TYPOlight-Cores

Wie in Abbildung 1 gezeigt hebt Meld die Unterschiede zwischen zwei Dateien farblich hervor. Als Beispiel habe ich hier zwei PHP Dateien aus verschiedenen Versionen des TYPOlight-Cores genommen. Am Rand sind die Positionen der Unterschiede zwischen den Dateien farblich markiert. Die Zeilen mit Unterschieden sind mit farbigem Hintergrund hervorgehoben und die Unterschiede in der Zeile rot markiert. Im Editor kann man direkt Änderungen einführen, oder per Klick auf die Pfeile komplette Codeabschnitte in die andere Datei überführen. Sehr angenehm ist die Zeilennummerierung am Rand und das Syntax-Highlighting für alle gängigen Programmiersprachen.

Verzeichnisse und der Dreiwegevergleich

Man kann über Tabs zwischen verschiedenen Vergleichen wechseln. Im zweiten Tab habe ich einen Verzeichnisvergleich ausgewählt und zeige dabei auch noch das Feature des Dreiwegevergleichs.

Unterschiede
 in Verzeichnissen und Dreiwegevergleich
Abbildung 2: Vergleich der Verzeichnisse dreier TYPOlight-Versionen
in einem Dreiwegevergleich

Gezeigt sind in Abbildung 2 die Unterschiede im Rootverzeichnis der TYPOlight-Versionen 2.6.0, 2.7.0 und 2.8.0. Rot markierte Dateien enthalten Änderungen, Grüne sind identisch und Graue in dieser Version nicht vorhanden. Verzeichnisse mit Unterschieden werden mit einem roten Punkt im Icon markiert. Die Unterverzeichnisse lassen sich einfach aufklappen und per Doppelklick auf eine Datei öffnet sich ein Dateivergleich in einem neuen Tab. Somit kann man sehr komfortabel auch komplexe Webanwendungen auf Änderungen untersuchen. Zusätzlich lassen sich auch diverse Filter anwenden womit man den Dateibaum auf Dateien mit Unterschieden… reduzieren kann. Verzeichnisse aus Versionsverwaltungen, Backups und Binaries werden schon standardmäßig vom Filter ausgeblendet.

Meld und Versionsverwaltungen

Meld unterstützt von Haus aus schon gängige Versionsverwaltungssysteme wie GIT und SVN. Die Integration ist hier am Beispiel eines GIT Repositories gezeigt.

Anzeige
 der geänderten Dateien in einem GIT Repository mit 
Meld
Abbildung 3: Anzeige der geänderten Dateien in einem GIT Repository mit Meld

Dateivergleich
 nach einem Merge im GIT Repository mit Meld
Abbildung 4: Dateivergleich nach einem Merge im GIT Repository mit Meld

In Abbildung 3 ist gezeigt, wie ein GIT Repository in Meld dargestellt wird. In diesem Fall wird auf einen Merge Konflikt in der Datei test.txt aufmerksam gemacht. Aus Meld heraus können auch direkt Dateien zum Repository hinzugefügt, oder Commits gemacht werden. GIT bietet außerdem eine direkte Unterstützung für Meld an. Mit folgendem Befehl lässt sich Meld als Diffprogramm für GIT registrieren:

$ git config --global merge.tool meld

Dies funktioniert natürlich auch mit anderen Difftools. Mit einem einfachen Befehl wird nach einem misslungenen merge das Difftool zur Konfliktbehandlung aufgerufen:

$ git mergetool

Fazit

Meld mag nicht für jeden die perfekte Wahl sein, doch als Werkzeug für Verzeichnis- und Dateivergleiche habe ich es meist sehr komfortabel nutzen können. In den meisten Fällen ist die grafische Hervorhebung der Dateiunterschiede auch intuitiver und schneller zu behandeln, als die von manchen Diffprogrammen verwendete Schreibweise mit + und -. Auch die Bearbeitung in dem geteilten Bildschirm ist äußerst komfortabel, solange man nicht aus Versehen in der falschen Datei arbeitet. Speziell bei langen Codeeinschüben mit repetitivem Code hat Meld jedoch manchmal Probleme die Unterschiede korrekt darzustellen.


Zum Thema (Web)Editoren empfehle ich meinen Artikel Webeditoren unter Ubuntu Linux.

Zurück