Apr 04

DiffMerge zum Vergleich und Abgleich von Textdateien

Tag: ToolsTorsten @ 20:29

Wenn man Projekte im Team abwickelt, kommt es vor, dass die gleichen Dateien von mehreren Leuten gleichzeitig bearbeitet werden. So hat man selbst schon Änderungen vorgenommen, es liegen aber gleichzeitig bereits neue, widersprüchliche Änderungen in der Quellcodeverwaltung (Team Foundation Server, etc.) vor.

Visual Studio bietet hier bereits einige sehr brauchbare Mechanismen, insbesondere auch den automatischen Abgleich (Merge), der recht gut funktioniert.

Ab und an kommt man aber nicht umher, Dinge auch manuell abzugleichen bzw. Änderungen zwischen Versionen visuell zu inspizieren. Hier konnte ich mich noch nie wirklich mit dem in Visual Studio integrierten Tool anfreunden. Ein Kollege hatte mir vor kurzem einen guten Tipp gegeben:
das Freeware-Programm DiffMerge.

WinMerge beim Vergleich/Abgleich von zwei Quelltexten

WinMerge beim Vergleich/Abgleich von zwei Quelltexten

Es lässt sich auch vollständig in Visual Studio integrieren: Menü Tools / Options / Source Control / Visual Team Foundation Server / Configure User Tools…

Und hier dann zwei neue Einträge anlegen:

Visual Studio - WinMerge Integration

Visual Studio - WinMerge Integration Compare

Hier nochmal copy/paste freundlich: /x /e /ub /wl /dl %6 /dr %7 %1 %2

Visual Studio - WinMerge Integration

Visual Studio - WinMerge Integration Merge

Hier nochmal copy/paste freundlich: /x /e /ub /wl /dl %6 /dr %7 %1 %2 %4

Ab jetzt lässt sich DiffMerge sowohl zum Vergleich von Quelltexten (z.B: über die History-Funktion), als auch zum Abgleich von widersprüchlichen Quelltexten (über Merge beim Checkin) verwenden.

Update: Es gibt noch ein alternatives gutes Freeware-Tool für den Job: WinMerge

Allerdings kommt DiffMerge teilweise mit dem Vergleich zweier stark restrukturierter Texte etwas besser zurecht (z.B. Quelltexte, in denen nur die Reihenfolge der Methoden geändert wurde, nicht aber deren Signaturen oder Inhalte).