git SCM

Ich gehe mit der Zeit und wechsele mein Source Code Management System.

Obwohl SVN weiterhin entwickelt und gepflegt wird wurde es von git überholt. Das Design, die Idee, der dezentrale Ansatz von git ist SVN weit überlegen.

Nun verwalte ich meinen Quelltext mit git. Alle Projekte und Code-Schnipsel befinden sich in meinen git-Repositories: http://web.git.0l.de

Ich habe alle Verweise in meinem Blog nun auf das neue git-Repository aktualisiert.

Jedem der sich auch mit dem Thema beschäftigen möchte, empfehle ich diese Lektüre:

O’Reilly

(bei Interesse bitte bei mir melden 😉

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.