Arbeiten+mit+SVN+und+DAR
(c) manfred at www dot mabitoka dot de
OPN wird mit Subversion (SVN) gepflegt. Die jeweils aktuellste Version liegt im Projektarchiv http://svn.openphpnuke.info:8080/openphpnuke/trunk für den anonymous Download bereit. Um damit aber seine eigene Webseite zu aktualisieren, sind bisher noch einige Zwischenschritte notwendig, die das Verfahren insgesamt recht aufwendig an Ressourcen und Zeitaufwand machen.
Das muss nicht sein. Ich möchte hier einen Umgang mit SVN vorstellen, der schnell und mit einigen wenigen Befehlen zum Ziel führt. Auch wird ausser der Installation von Subversion und DAR, die es für Linux und Windows zum Download gibt, keine besondere Umgebung gebraucht.
Der Trick besteht in einem inkrementiellen Backup, den das Programm DAR durchführt.
Dar und Subversion sind sehr einfach zu installieren. Unter Windows das Binary runterladen, entpacken und fertig. Unter Linux sind die Pakete typischerweise in der Grundausstattung der Distribution dabei, z.B lassen sie sich in Ubuntu über apt-get oder synaptic installieren.
Zum ersten Mal runterladen vom OPN Repository einfach ein eigenes Verzeichnis erstellen, ins Verzeichnis gehen und SVN starten:
md opn-svn
cd opn-svn
svn checkout http://svn.openphpnuke.info:8080/openphpnuke/trunk
Tja dann gemütlich die eine oder andere Tasse Kaffee trinken, das dauert ne Weile. Letztendlich wird das gesamte OPN Datei für Datei heruntergeladen. Nach diesem Checkout schreibt SVN eine aktuelle Versionsnummer auf den Schirm( Diese Revisionsnummer benutze ich im nachfolgenden DAR Kommando). Allerdings fügt SVN noch eigene Dateien und Verzeichnisse dazu, da SVN ja immer wissen muss,welche Version lokal gespeichert wird. Diese Zusätze, die vom SVN generiert wurden, führen dazu, dass die lokale OPN Version noch nicht auf den Webspace hochgeladen werden kann. Üblicherweise wird dazu der Befehl SVN export ausgeführt. Wir machen das nicht sondern führen folgenden Befehl aus:
#filename: svn_openphpnuke_full.sh
dar -c opn-rev-5461 -z -X "*opn-rev*.*" -P "*svn*" -P "*.svn*"
Wir benutzen DAR, um ein Backup mit Namen opn-rev-5461.1.dar anzulegen, das keine Reste vom SVN enthält. Wenn wir jetzt Dieses Backup wieder extrahieren, haben wir einen Verzeichnisbaum, der auf unseren Webspace hochgeladen werden kann.
dar -x opn-rev-5461
Wenn wir dan einige Zeit später unsere Version aktualisieren wollen, führen wir folgende Befehle aus:
svn update
Damit werden nur die neuen Dateien seit dem letzten Mal heruntergeladen und somit unsere lokale Version aktualisiert. Am Schluss zeigt uns SVN dann wieder eine Revisionsnummer, z.b 5468. Diese Revisionsnummer benutze ich, um ein inkrementelles Backup zu erstellen. Dort werden nur die Unterschiede zum vorherigen Backup gespeichert. Die Datei heisst dann z.B. opn-rev-5468.1.dar
#filename svn_openphpnuke_part.sh
dar -c opn-rev-5468 -z -A opn-rev-5461 -X "*opn-rev*.*" -P "*svn*" -P "*.svn*"
Die neuen Dateien für den Webspace erhalten wir dann mit: dar -x opn-rev-5468
Man kann sich obige Befehle natürlich in Batchdateien verpacken,aber das könnt ihr ja selber machen :-) Ich will hier eigentlich nur die Idee darstellen, die auf die eigenen Anforderungen angepasst werden muss.
Verfasser manne ()
aufgenommen 02.10.2006 09:46
Bewertung
Betreffender Link
Betreffender URL
Kommentar
|