Mastodon

Live SVN & Revision im Footer

In diesem Post möchte ich euch mal kurz meinen Entwicklungsprozess am Beispiel der TuS Handball Website vorstellen.

Fast alle meine Projekte befinden sich auf meinem eigenen SVN Server. Mittlerweile sind wir zu git gewechselt.

Auch wenn ich meistens nur alleine an einem Projekt arbeite, bietet mir die Versionsverwaltung einige Vorteile:

  • Entwicklungsfortschritt wird dokumentiert
  • Backup der Daten
  • Einfaches Auschecken der neuesten Version auf einem anderen Rechner
  • Wiederherstellen einer älteren Version (Revision)

Auch das lästige Hochladen und Veröffentlichen der neusten Version auf dem Webserver wird überflüssig.

Mit einem „post-commit“ Skript, welches im „hooks“ Verzeichnis des SVN Repositories abgelegt werden muss, kann nach jedem Commit die aktuellste Version in ein vom WWW aus zugänglichen Ordner geupdated werden. Es ist nur einmalig nötig eine Version in das Webserververzeichnis auszuchecken:

#!/bin/sh
cd /var/www/projectdir
svn up

Ein weiteres kleines Gimmick ist die Anzeige der aktuellen Revision im Footer der Website. Das lässt sich am einfachsten mit SVN Keywords bewerkstelligen. Diese Keywords werden beim Committen durch die aktuelle Revisionsnr, das Datum oder den User ersetzt. Mithilfe einer Regular Expression können die Keywords auf ihre wesentliche Information gekürzt werden:

preg_match("/(\d+)/", '$Revision: 4 $', $result);
$rev = $result[1];

preg_match("/\((.*)\)/", '$Date: 2009-07-24 03:47:35 +0200 (Fr, 24 Jul 2009) $', $result);
$date = $result[1];

echo 'CMS Revision: ' . $rev . ' (' . $date . ')';

Um das Ersetzen der Keywords zu aktivieren, müssen die entsprechenden SVN Properties gesetzten sein:

svn propset svn:keywords "Date Revision" footer.php

Das ganze könnt ihr in Aktion auf der TuS Handball Website betrachten! Viel Spaß! Die Seite ist leider nicht mehr verfügbar.