Vergleichen von Dateien mit dem visuellen Diff/Merge-Tool Meld unter Linux
Wir starten diese neue Serie mit einem GUI-basierten Tool namens Meld.
Über Meld
Meld ist im Grunde genommen ein visuelles Vergleichs- und Zusammenführungstool, das sich in erster Linie an Entwickler richtet (seien Sie jedoch versichert, dass wir das Tool unter Berücksichtigung der Endbenutzer erklären werden). Das Tool unterstützt sowohl Zwei- als auch Drei-Wege-Vergleiche und ermöglicht nicht nur den Vergleich von Dateien, sondern auch von Verzeichnissen und versionskontrollierten Projekten.
„Meld hilft Ihnen, Code-Änderungen zu überprüfen und Patches zu verstehen“, sagt die offizielle Website. „Es könnte dir sogar helfen, herauszufinden, was in diesem Zusammenschluss vor sich geht, den du immer wieder vermeidest.“ Das Tool ist unter der GPL v2 lizenziert.
Meld Installation
Wenn Sie Ubuntu oder eine andere Debian-basierte Linux-Distribution verwenden, können Sie Meld mit dem folgenden Befehl herunterladen und installieren:
sudo apt-get install meld
Alternativ können Sie auch den Paketmanager Ihres Systems verwenden, um das Tool herunterzuladen. Unter Ubuntu können Sie beispielsweise das Ubuntu Software Center verwenden.
Es ist jedoch möglich, dass die Version von Meld in den offiziellen Repositories von Ubuntu alt ist. Wenn Sie also eine neuere Version verwenden möchten, können Sie das Paket von hier herunterladen. Wenn Sie diese Methode wählen, müssen Sie nur das heruntergeladene Paket extrahieren und dann die Binärdatei „meld“ im Ordner „bin“ ausführen:
~/Downloads/meld-3.14.2/bin$ ./meld
Zu Ihrer Information, im Folgenden finden Sie die Pakete, die Meld benötigt:
- Python 2.7 (Python 3.3 in Entwicklung)
- GTK+ 3.14
- GLib 2.36
- PyGObject 3.14
- GtkSourceView 3.14
- Pykairo
Verwendung von Meld
Wenn das Tool gestartet wird, sehen Sie einen Bildschirm ähnlich dem folgenden:
Sie haben also drei Möglichkeiten: Dateivergleich, Verzeichnisvergleich und Versionskontrollansicht.
Klicken Sie auf die Option „Dateivergleich“, und Sie werden aufgefordert, die zu vergleichenden Dateien auszuwählen:
Wie aus dem obigen Screenshot ersichtlich, können Sie mit Meld auch 3-Wege-Vergleiche durchführen, aber – in diesem ersten Teil dieser Artikelserie – werden wir uns an die gebräuchlicheren Zwei-Wege-Vergleiche halten.
Wählen Sie nun die Dateien aus, die Sie vergleichen möchten, und klicken Sie dann auf die Schaltfläche „Vergleichen“. Sie werden sehen, dass das Tool beide Dateien Seite an Seite öffnet und auch die unterschiedlichen Linien (sowie Unterschiede) hervorhebt.
Der Unterschied liegt also in der zweiten Zeile beider Dateien, und der tatsächliche Unterschied ist der zusätzliche’3′ in der zweiten Zeile von file2. Diese schwarzen Pfeile, die Sie sehen, sind dazu da, den Zusammenführungs-/Änderungsvorgang durchzuführen. Der rechte Pfeil ändert in diesem Fall die zweite Zeile in’file2′ mit der entsprechenden Zeile von’file1′. Der linke Pfeil macht es umgekehrt.
Nachdem du Änderungen vorgenommen hast, kannst du eine Strg+s ausführen, um sie zu speichern.
Das war also ein einfaches Beispiel, um Ihnen mitzuteilen, wie Meld auf einer grundlegenden Ebene funktioniert. Werfen wir einen Blick auf einen etwas komplizierteren Vergleich:
Bevor wir auf die Änderungen eingehen, ist es an dieser Stelle erwähnenswert, dass es Bereiche in der Meld GUI gibt, die Ihnen einen visuellen Überblick über die Änderungen zwischen den Dateien geben. Konkret versuchen wir, Sie hier auf vertikale Balken auf der linken und rechten Seite des Fensters hinzuweisen. Sehen Sie sich beispielsweise den folgenden Screenshot an:
Wenn Sie genau hinsehen, enthält die Leiste im obigen Screenshot einige farbige Blöcke. Diese Blöcke sollen Ihnen einen Überblick über alle Unterschiede zwischen den beiden Dateien geben. „Jeder farbige Block repräsentiert einen Abschnitt, der je nach Farbe des verwendeten Blocks eingefügt, gelöscht, geändert oder in Konflikt mit Ihren Dateien steht“, erklärt die offizielle Dokumentation.
Kommen wir nun auf das Beispiel zurück, über das wir gesprochen haben. Die folgenden Screenshots zeigen, wie einfach es ist, Dateiänderungen bei der Verwendung von Meld zu verstehen (und auch zusammenzuführen):
Weiter geht es, bisher sind wir von einer Änderung zur anderen gesprungen, indem wir in den Dateien geblättert haben. Es kann jedoch vorkommen, dass die zu vergleichenden Dateien sehr groß sind, was es schwierig macht, jedes Mal zu blättern, wenn Sie zu einer Änderung wechseln möchten. Dazu können Sie die orangefarbenen Pfeile in der Symbolleiste verwenden, die sich wiederum über dem Bearbeitungsbereich befindet:
So machen Sie einige der üblichen Dinge bei der Verwendung von Meld: Sie können die Standard-Tastenkombination Strg+f verwenden, um etwas im Editorbereich zu finden, die Taste F11 drücken, damit das Tool im Vollbildmodus läuft, und Strg+r zum Aktualisieren (normalerweise verwendet, wenn sich eine oder beide der zu vergleichenden Dateien geändert haben).
Nachfolgend sind einige der wichtigsten Funktionen aufgeführt, die auf der offiziellen Meld Website beworben werden:
- Zwei- und Dreiwegevergleich von Dateien und Verzeichnissen
- Dateivergleiche werden während der Eingabe aktualisiert.
- Auto-Merge-Modus und Aktionen auf Änderungsblöcken erleichtern das Zusammenführen.
- Visualisierungen erleichtern den Vergleich Ihrer Dateien.
- Unterstützt Git, Bazaar, Mercurial, Subversion, etc.
Beachten Sie, dass die obige Liste nicht vollständig ist. Die Website enthält eine spezielle Features-Seite, die eine vollständige Liste der Features enthält, die Meld anbietet. Alle dort aufgeführten Funktionen sind in Abschnitte unterteilt, je nachdem, ob das Tool für den Dateivergleich, den Verzeichnisvergleich, die Versionskontrolle oder den Merge-Modus verwendet wird.
Wie bei jedem anderen Softwaretool gibt es bestimmte Dinge, die Meld nicht kann. Die offizielle Website listet mindestens einen von ihnen auf: „Wenn Meld Unterschiede zwischen den Dateien anzeigt, zeigt es beide Dateien so an, wie sie in einem normalen Texteditor erscheinen würden. Es werden keine zusätzlichen Zeilen eingefügt, so dass die linke und rechte Seite einer bestimmten Änderung die gleiche Größe hat. Es gibt keine Möglichkeit, das zu tun.“.
Fazit
Wir haben hier gerade die Oberfläche zerkratzt, denn Meld ist in der Lage, noch viel mehr zu tun. Aber im Moment ist es in Ordnung, da es der erste Teil der Tutorial-Serie ist. Nur um Ihnen einen Eindruck von den Möglichkeiten von Meld zu geben, können Sie das Tool so konfigurieren, dass es bestimmte Arten von Änderungen ignoriert, es bittet, einzelne Unterschiede zwischen Dateien zu verschieben, zu kopieren oder zu löschen sowie es von der Befehlszeile aus zu starten. Wir werden alle diese Schlüsselfunktionalitäten in den nächsten Teilen dieser Tutorial-Serie besprechen.