Mit Subversion automatisch Webverzeichnis füllen
Hannes C.
- projektverwaltung
Hallo,
wir möchten unsere Webseiten und alles was dazugehört mittels Subversion verwalten. Jeder soll dabei in der Lage sein, das Verzeichnis, aus dem der Webserver die weite Welt beliefert, zu aktualisieren. Es wird also gemeinsam oder einsam in svn:trunk/ gewurschtelt und sobald eine fertige Version zur Verfügung steht, soll jeder sie per svn veröffentlichen können.
Ich hatte dazu ein separates Verzeichnis htdocs im Subversion-Lager eingerichtet, per post-commit wird dieses bei Änderung in das htdocs-Verzeichnis des Webservers befördert. Sieht in etwa so aus:
REPOS="$1"
REV="$2"
for pfad in $(svnlook dirs-changed "$REPOS" -r "$REV"); do
if [ "$pfad" == "htdocs/" ]; then
cd /server/htdocs
svn update
fi
done
(In /server/htdocs liegt eine eingangs mittels svn checkout erstellte Arbeitskopie.)
Das funktioniert so weit, aber ich bekomme die zu veröffentlichende Fassung, z.B. aus svn:trunk, nicht in svn:htdocs kopiert. svn copy file:trunk file:htdocs meldet lediglich, dass das Verzeichnis trunk schon existiere, zudem kopiert es beim ersten Mal nicht die Dateien aus trunk nach htdocs, sondern erstellt in htdocs ein Verzeichnis trunk.
Gibt es eine Möglichkeit, mit svn direkt in einem Rutsch und mit allem Pipapo einen Verzeichnisinhalt in einem anderen Verzeichnis zu klonen? Oder muss ich in zwei Schritten das existierende Verzeichnis löschen und dann eine Kopie unter altem Verzeichnisnamen erstellen? Oder gibt es noch andere Möglichkeiten?
Danke
Hannes