Subversion (SVN) Hooks

So genannte Hooks können über „Event-Einstiegspunkte“ im SVN Server eingehängt werden. Diese werden entsprechend dem Event ausgeführt (z. B. pre-commit, also vor einem Commit) und können z. B. Dateiprüfungen vornehmen. Hooks werden immer je Repository eingerichtet.

Dieses Beispielhafte pre-commit prüft, ob eine Datei die Eigenschaft „svn:keywords=Id“ gesetzt hat und bricht den Commit ggf. mit einer Fehlermeldung ab.

Hooks werden einfach als Datei mit dem Namen des Events (z. B. „pre-commit“) im Verzeichnis „hooks“ des jeweiligen Repositories abgelegt.

Neue Dateien vor dem Hinzufügen automatisch mit Eigenschaften versehen

Über die Konfiguration des SVN Clients (Windows: C:\Dokumente und Einstellungen\[User]\Anwendungsdaten\Subversion\config, Linux: /home/[User]/.subversion/config o. ä.) folgende Einstellungen aktivieren:


[miscellany]
enable-auto-props = yes
[auto-props]
*.php = svn:keywords=Id LastChangedRevision
*.php4 = svn:keywords=Id LastChangedRevision

Dann wird allen neu hinzugefügten *.php und *.php4 Dateien automatisch die Eigenschaft „svn:keywords=Id LastChangedRevision“ hinzugefügt. Für bereits im SVN bestehende Dateien muss diese Eigenschaft maneuell gesetzt werden.