Ich muss unter Linux häufig Textdateien vergleichen, wofür ich ein Diff-Tool benutze. Das funktioniert gut, wenn Text hinzugefügt oder gelöscht wurde, aber wenn viel Text nur verschoben wurde, wird es unübersichtlich. Kennen Sie ein Tool, das mit Verschiebungen gut umgehen kann?
Möglicherweise hilft Ihnen die Versionsverwaltung git, selbst wenn Sie sie sonst nicht verwenden: Mit dem Befehl git diff kann man auch zwei beliebige Dateien vergleichen, die nicht von git versioniert werden. Über den Parameter --color-moved weisen Sie das Programm an, verschobene Zeilen in anderen Farben darzustellen als Einfügungen und Löschungen.
Dem Parameter können Sie optional einen Wert übergeben, der gits Verhalten genauer bestimmt. --color-moved=dimmed-zebra zeigt beispielsweise verschobene Zeilen eher unscheinbar an, damit echte Einfügungen und Löschungen stärker ins Auge fallen. Daneben gibt es noch den Parameter --color-moved-ws=…, der festlegt, ob und welchen Weißraum git bei der Erkennung von Verschiebungen ignoriert. Wir finden zum Beispiel diese Kombination praktisch:
git diff --color-moved=dimmed-zebra --color-moved-ws=allow-indentation-change
Details zur Verschiebungserkennung und den anderen Werten für die Parameter erklärt die Dokumentation von git.
Quelle: c‘t
Möglicherweise hilft Ihnen die Versionsverwaltung git, selbst wenn Sie sie sonst nicht verwenden: Mit dem Befehl git diff kann man auch zwei beliebige Dateien vergleichen, die nicht von git versioniert werden. Über den Parameter --color-moved weisen Sie das Programm an, verschobene Zeilen in anderen Farben darzustellen als Einfügungen und Löschungen.
Dem Parameter können Sie optional einen Wert übergeben, der gits Verhalten genauer bestimmt. --color-moved=dimmed-zebra zeigt beispielsweise verschobene Zeilen eher unscheinbar an, damit echte Einfügungen und Löschungen stärker ins Auge fallen. Daneben gibt es noch den Parameter --color-moved-ws=…, der festlegt, ob und welchen Weißraum git bei der Erkennung von Verschiebungen ignoriert. Wir finden zum Beispiel diese Kombination praktisch:
git diff --color-moved=dimmed-zebra --color-moved-ws=allow-indentation-change
Details zur Verschiebungserkennung und den anderen Werten für die Parameter erklärt die Dokumentation von git.
Quelle: c‘t