Bashscript zum Anlegen eines Subversion-Repositories inklusive Ordnerstruktur
Wer sich mit Programmierung und Subversion auskennt, weiß, dass man in der Regel gleich nach dem Anlegen eines Repositories eine Ordnerstruktur bestehend aus den Ordnern trunk, tags und branches eincheckt. Für diesen Zweck habe ich mir heute ein kleines Bashscript geschrieben, das mir diese unkomfortable Arbeit abnimmt. Optional kann das Script auch gleich den Besitzer des Ordners ändern. Zum Beispiel braucht man den Besitzer www-data, wenn man das Repository per Webserver bedienen möchte.
Das Bashscript sieht wie folgt aus:
#! /bin/bash # Parameteranzahl überprüfen if [ $# -lt 1 -o $# -gt 2 ] then echo "Usage: createrepo <Repository> [Owner]" exit fi # Prüfen, ob der Ordner noch nicht existiert if [ -d $1 ] then echo "Error: '$1' already exists" exit fi # Temporäres Verzeichnis finden TMPDIR=$(pwd)/tmp$RANDOM while [ -d $TMPDIR ] do TMPDIR=$(pwd)/tmp$RANDOM done # Temporären Ordner und Ordnerstruktur erstellen mkdir $TMPDIR mkdir $TMPDIR/branches mkdir $TMPDIR/tags mkdir $TMPDIR/trunk # Repository anlegen svnadmin create $1 # Ordnerstruktur importieren svn import -m "Ordnerstruktur angelegt" $TMPDIR file:///$(pwd)/$1 # Temporären Ordner löschen rm -r $TMPDIR # Benutzer wechseln if [ $# = 2 ] then chown -R $2:$2 $1 fi
Ich denke, dass der Quellcode ausreichend dokumentiert ist, um den Ablauf zu verstehen. Einfach das Script erstellen, ausführbar machen und in einen Ordner schieben, der im Path liegt. Schon kann man komfortabel neue Subversion-Repositories einrichten.
Veröffentlicht am 21.03.2011
