Der kleine Unterschied

Dateien vergleichen mit Beediff

Beediff [1] steht in den aktuellen Versionen von Ubuntu und Debian nicht als fertiges Paket bereit. OpenSuse bringt das Tool schon mit. Fehlt es im Repository der von Ihnen bevorzugten Distribution, laden Sie Beediff direkt als vorkompiliertes Programm von der Downloadseite der Entwickler [2] herunter. Mit einem tar xvfz beediff_1.7_i586.tar.gz auf der Kommandozeile oder über den Archivmanager entpacken Sie das Verzeichnis beediff mit den Dateien und rufen das Programm mit dem gleichnamigen Befehl auf der Kommandozeile auf.

Auf dem Testsystem mit Ubuntu 8.04 unter Gnome verlangte das Tool nach dem zusätzlichen Paket libqtgui4, das wiederum weitere Pakete nachzog. Der erste Start dauerte zudem etwas länger. Das Programmfenster (Abbildung 1) präsentiert sich dafür aufgeräumt: Zwei Textfenster, eine übersichtliche Symbolleiste und eine Statuszeile mit vier Zählern machen das ganze Programm aus.

Abbildung 1

Abbildung 1: Beediff präsentiert sich nach dem ersten Programmstart aufgeräumt.

Konfiguration

Beediff liegt derzeit lediglich in englischer Sprache vor. Das Interface braucht allerdings nicht viele Hinweise. Unter dem Menüpunkt System | Configure nehmen Sie bei Bedarf einige Grundeinstellungen (Abbildung 2) vor. Das umfasst die Toleranz bei Groß-/Kleinschreibung, Tabulatoren, Leerzeilen und Leerzeichen ebenso wie die Schriftart oder -farben für Änderungen. Für die meisten Arbeiten liefern die Standardeinstellungen jedoch brauchbare Ergebnisse.

Abbildung 2

Abbildung 2: Über die Konfiguration passen Sie die Farbgebung sowie die Schriftart für die Anzeige an.

Vergleich von Dateien

Die zu vergleichenden Dateien öffnen Sie über einen Klick auf die Schaltfläche ... über dem jeweiligen Textfenster. Sinnvollerweise laden Sie die ursprüngliche Datei ins linke Fenster und die mit den Änderungen ins rechte. Die Zeilen nummeriert das Tool automatisch. Sollten Sie das nicht wünschen, so deaktivieren Sie die Funktion über System | Numeration. In Abbildung 3 sehen Sie zwei HTML-Dateien im Vergleich.

Abbildung 3

Abbildung 3: Beediff vergleicht zwei HTML-Dateien.

Im linken Textfenster befindet sich die ursprüngliche Datei index_alt.html, im rechten die überarbeitete Version namens index_neu.html. Der Statusleiste entnehmen Sie, dass es insgesamt fünf Unterschiede gibt, darunter drei Änderungen, eine Ergänzung und eine gelöschte Stelle. Rote Zeilen zeigen Löschungen an, olivgrüne Zeilen stehen für Veränderungen und blaue Bereiche kennzeichnen neu eingefügte Zeilen. Änderungen an einzelnen Wörtern markiert das Programm gelb.

Im Vergleich zum linken Dokument hat sich die neue Textversion rechts also wie folgt geändert: Die Zeile am Anfang mit dem Hinweis auf die ungeprüfte Version fiel weg, und die Schlusszeile mit dem Hinweis auf die geprüfte Version kam neu hinzu. Daneben gab es zahlreiche Veränderungen, namentlich in den Zeilen 2, 5 und 8 bis 10. In Zeile 2 hat sich ein Tippfehler in der URL eingeschlichen, in Zeile 5 lautet das Tag <title> anders als im Original.

Auch die Zeilen 8 bis 10 weisen Änderungen auf. Da die beiden Dateien sich zu stark unterscheiden, erkennt Beediff nicht, dass sich das Tag <h1> eigentlich geändert hat, und Zeile 9 und 10 neu hinzu kam. Stattdessen kennzeichnet die Software den gesamten Bereich lediglich pauschal als geändert.

Unterschiede ausgleichen

Möchten Sie die Unterschiede zwischen den einzelnen Dateien ausgleichen, so erledigen Sie dies direkt in Beediff. Die Funktion Operations | Remove all from left beziehungsweise Remove all from right entfernt in der linken respektive rechten Datei sämtliche eingefügten und gelöschten Zeilen, also solche, die einen roten oder blauen Hintergrund haben.

Olivgrün markierte Zeilen enthalten für Beediff unklare Textstellen, da die Software hier nicht genau erkennt, welche Änderungen im Detail vorliegen. Um die Änderungen nicht pauschal zu verwerfen, steht die Funktion Operations | Merge all to left beziehungsweise Merge all to right bereit. Sie versucht, die Änderungen einer Datei in die jeweils andere zu übernehmen, was jedoch selten ohne Nacharbeit gelingt.

Beediff bietet weiterhin die Möglichkeit, jede einzelne Änderung manuell zu übernehmen oder abzulehnen. Neben jeder markierten Stelle befindet sich ein Pfeilsymbol, sowie bei eingefügten oder gelöschten Zeilen auch ein X. Dieses X eliminiert die gesamte Zeile, während das Pfeilsymbol die Modifikation in die jeweils andere Datei übernimmt. Haben Sie alles bearbeitet, speichern Sie die Datei mit einem Klick auf das Diskettensymbol.

Alternativen zu Beediff

Da für Entwickler ein Dateivergleich zum Handwerkszeug gehört, gibt es dafür eine Vielzahl von Programmen mit unterschiedlichem Funktionsumfang. Puristen greifen auf der Kommandozeile zu Tools wie Diff. Das grafische Frontend Tkdiff [3] bietet sich im Gegensatz zu Beediff dann an, wenn Sie an den Dateien auch unter Windows und Mac OS X arbeiten. Kdiff3 [4], Meld [5] oder Diffuse [6] warten hingegen mit mehr Funktionen als Beediff auf. Mittlerweile bieten die meisten Editoren und Office-Pakete entsprechende Funktionalität auch direkt an.

Fazit

Beediff eignet sich gut, um zwei Dateien zu vergleichen und die Änderungen optisch ansprechend darzustellen. In erster Linie richtet es sich an Programmierer, bietet bedingt aber auch praktischen Nutzen für andere Anwender. Gelungen ist die Möglichkeit, einzelne Änderungen anzunehmen oder abzulehnen. Auch der synchrone Lauf beider Fenster zeugt von einem praxisnahen Ansatz.

Wünschenswert wäre eine Funktion, die Dateien mit einem Knopfdruck neu zu laden, um bei zwischenzeitlich bearbeiteten Dateien die Änderungen schnell neu zu berechnen. Für komplexe Dokumente empfiehlt sich hingegen der Einsatz einer Office-Suite, die mit Funktionen zur Versionskontrolle und Aufzeichnen der Änderungen aufwartet.

Tip a friend    Druckansicht beenden Bookmark and Share
Kommentare