Bashscript zum Anlegen eines Subversion-Repositories inklusive Ordnerstruktur

veröffentlicht am 21. März 2011

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.

Hinterlasse einen Kommentar