Git diff mit odt-Dateien

Aus Thomas-Krenn-Wiki
Wechseln zu: Navigation, Suche

Ab der Git-Version 1.6 ist es möglich für binäre Dateien (binary Files) ein effektives Diff durchzuführen. Dabei wird für eine bestimmte Dateiendung (z.B. .odt) eine Konfigurationsdatei erstellt, die festlegt, wie ein Diff durchgeführt wird. Im Falle von odt wird die binäre Datei zuerst in eine Textdatei umgewandelt um mit dieser die Änderungen zu begutachten.

Installation der benötigten Tools

Für die Konvertierung einer odt-Datei wird dass Tool odt2txt verwendet. Dieses Tool wandelt die odt-Datei in eine Textdatei um, auf die daraufhin ein Diff durchgeführt werden kann:

sudo apt-get install odt2txt

Konfiguration von Git

Im lokalen Git-Repo wird die Datei ".gitattributes" angelegt und folgende Zeile eingefügt:

*.odt diff=odt

Anschließend wird die Datei ".git/config" editiert und dieser Abschnitt hinzugefügt:[1]

[diff "odt"]
        binary = true
        textconv = odt2txt

Diff durchführen

Ein Diff für odt-Dateien kann nun mit dem normalen "git diff" ausgeführt werden:

:~/Repos/plugin$ git diff --color doc/doc.odt
diff --git a/doc/doc.odt b/doc/doc.odt
index 88ee406..913ab65 100644
--- a/doc/doc.odt
+++ b/doc/doc.odt
@@ -1,3 +1,5 @@
 
 This is the documentation to our plugin.
 
+Chapter 1: Install
+

Einzelnachweise

  1. OpenDocument, diff, and revision-control (verimag.imag.fr)
Foto Georg Schönberger.jpg

Autor: Georg Schönberger

Georg Schönberger, Abteilung DevOps bei der XORTEX eBusiness GmbH, absolvierte an der FH OÖ am Campus Hagenberg sein Studium zum Bachelor Computer- und Mediensicherheit, Studium Master Sichere Informationssysteme. Seit 2015 ist Georg bei XORTEX beschäftigt und arbeitet sehr lösungsorientiert und hat keine Angst vor schwierigen Aufgaben. Zu seinen Hobbys zählt neben Linux auch Tennis, Klettern und Reisen.


Das könnte Sie auch interessieren

Etc-Verzeichnis mit etckeeper versionieren
Git Grundbefehle
Git Workflows