Subversion: Wie benutzt man Keywords?

Alle CVS-geschädigten können ein Lied davon singen; wenn CVS die Buchstabenkombination $Id$ finden sollte, dann wird sie durch die Check-In-Daten, z.B. $Id: idxml.xml,v 1.19 2006/03/01 19:27:08 ekeller Exp $ ersetzt. Soweit so gut – oder schlecht. Als ich in der Survival Guide die Verwendung von RCS beschrieben habe, musste ich mir mit einer XML-Entity namens $ behelfen, um zu verhindern, dass CVS, beim Einchecken der XML-Dateien, alle Vorkommen von $Id$ ersetztDabei bin ich übrigens auf diese Vorgehensweise gekommen. ;-) .

Andererseits ist es natürlich gewünscht, dass man die aktuelle Revision eines Dokuments einfach erkennen kann. Subversion erlaubt den gezielten Einsatz dieser Keywords (Schlüsselwörter), und zwar durch den Befehl propset. In der Anwendung sieht das ganze dann so aus: Nehmen wir an, dass wir in einem Dokument namens myArticle.xml die aktuelle Revision anzeigen wollen. Das Keyword dafür heisst (überraschenderweise) $Revision$ oder, in der Kurzform, $Rev$. Wir setzen also an geeigneter Stelle einen Kommentar in das Dokument:

<-- $Revision$ -->

checken (in freudiger Erwartung) ein:

svn commit -m "diesmal mit Keywords"

und … nichts passiert. Im Dokument steht immer noch $Revision$ statt der aktuellen Revisionsnummer. Dieses Verhalten ist gewünscht. Wenn wir die so genannte Keyword-Expansion für diese Datei durchgeführt haben wollen, dann müssen wir dies Subversion mitteilen:

svn propset svn:keywords "Revision" myArticle.xml

Dieser Befehl schaltet die Keyword-Expansion sozusagen scharf, und zwar nur auf dem Rechner, auf dem der Befehl abgesetzt wurde; und nur für die angegebene Datei. Andere mögliche Keywords sind $Author$, $Date$, $HeadURL$ und natürlich $Id$. Die Schlüsselwörter sind, vermutlich bis auf $HeadURL$, selbsterklärend; hier wird die URL zu der aktuellen Revision angezeigt (also der Ablageort der Datei als URL). Es lassen sich selbstverständlich mehrere dieser Keywords kombinieren; wenn man zum Beispiel $Date$ und $Author$ benutzen möchte, dann sieht der propset-Befehl so aus:

svn propset svn:keywords "Date Author" myArticle.xml

Keyword-Expansion ist also auch in Subversion möglich, die Vorgehensweise ist nur selektiver als in CVS/RCS.

Technorati Tags: , ,

This entry was posted in Computer, OS X. Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>