Inkscape-Vektorgrafiken versionieren

14.09.2008 Grafik, Tutorials Kommentieren

Arbeitet man an etwas umfangreicheren Vektorgrafiken – etwa weil sich diese sehr gut als PDF in LaTeX-Dokumente integrieren lassen – kann es manchmal ganz sinnvoll sein, diese mit Versionsnummern zu versehen. Wenn man dies nicht von Hand machen möchte, bietet sich dazu eine entsprechende Versionsverwaltung an. Nachfolgend möchte ich kurz beschreiben, wie man Inkscape-Vektorgrafiken mit Subversion (SVN) verwalten kann (Wobei ich auf Details zum Umgang mit Subversion oder Inkscape verzichten werde.). Dabei machen wir uns zunutze, dass SVG-Grafiken XML-Dokumente sind und Texte in der Grafik in der Datei im Klartext auftaucht (Anmerkung: Mit komprimierten SVG-Grafiken geht es nicht.).

Grafik vorbereiten

Als erstes müssen wir für Subversion ein Keyword in die Grafik einfügen, welches anschließend bei jedem Commit durch die aktuelle Revision ersetzt wird. Hier bietet sich $Rev$ an. Selbstverständlich kann hier auch $Id$ oder eines der anderen von Subversion unterstützen Keywords genutzt werden.

svn:keywords Property setzen

Anschließend muss Subversion noch mitgeteilt werden, dass es bei jedem Commit das Keyword $Rev$ mit der aktuellen Revision ersetzen soll (selbstverständlich muss zuvor ein Repository angelegt, die Grafik importiert und ausgecheckt worden sein). Mit dem folgenden Befehl auf der Kommandozeile teilt man Subversion mit, dass $Rev$ als Keyword behandelt werden soll:

$ svn propset svn:keywords "Rev" Beispiel.svg

Grafikbearbeitung fortsetzen und Änderungen einchecken

Jetzt kann man wie gewohnt an der Grafik weiterarbeiten, mit dem Unterschied, dass man nach getaner Arbeit sein Werk im Repository aktualisieren sollte, damit das ganze mit der Versionierung auch seinen Sinn hat:

$svn commit -m "Orangefarbenes Ding eingebaut"

Da Subversion das Keyword brav ersetzt, hat man immer die aktuelle Revisionsnummer in der Grafik stehen. Abgesehen davon kann man natürlich jederzeit auf ältere Versionen zurückgreifen und entsprechende Tags oder Branches erstellen. Man kann eben all die Vorteile der Versionsverwaltung mit Subversion nutzen. Leider bemerkt Inkscape (anders als etwa gedit) eine zwischenzeitliche Änderung der gespeicherten Datei nicht, weshalb man darauf achten sollte Inkscape vor dem Commit zu schließen, da man sonst mit der falschen Versionsnummer in der Grafik weiterarbeitet.

Übrigens: Möchte man, dass die Versionsinformation mit auf ausgedruckten oder exportierten Grafiken landet, dann sollte man bei Inkscape den entsprechenden Keyword-Text auf und nicht, wie im Screenshot zu sehen, neben der Seite platzieren.

Dein Kommentar

Zum Seitenanfang