Hallo Andreas,
Wie macht ihr dass es dann gleichzeitig auf den Servern aktiv wird??? Habt ihr da selbst was geschrieben?
Ja. Bei uns kommt noch dazu, dass unser Repository sowieso auf unseren Servern liegt (und auch per WebDAV zugänglich ist, URI ist https://vms.selfhtml.org/repos/, anonymer Zugang ist per Username = anonymous / Passwort = anonymous möglich, da sieht man allerdings nur die Entwicklungsversion von SELFHTML und nicht die Dateien vom Webangebot) und wir deswegen direkt auf den Servern Zeug ausführen können. Wir haben ein kleines Python-Script, das als Commit-Hook ausgeführt wird. Zusätzlich sind fast alle Dinge, die bei uns über's Web erreichbar sind, einfach nochmal lokale Working Copies die aus dem SVN ausgecheckt wurden und unser Script macht dort einfach ein "svn update" und schon ist das Webangebot aktualisiert (das Script wird - weil's ein Commit-Hook ist - bei jedem Commit aufgerufen). Gut, aus Performancegründen haben wir's inzwischen soweit optimiert, das es nur noch dort aktualisiert, wo sich etwas geändert hat.
Wenn Du Deine Daten per FTP auf den eigentlichen Server bekommen wolltest, würdest Du das natürlich etwas anders machen. Du würdest bei jedem Commit, der relevante Dateien verändert (auch über einen Commit-Hook), ein svn export in ein temporäres Verzeichnis machen wollen und das dann per FTP hochladen.
Nach sowas suche ich auch schon ein weilchen, habe da schon heute schon "Ant" als Tip bekommen.
Wenn Du bisher Ant nicht nutzt, würde ich es auch jetzt nicht. Ein einfaches Script (unter Windows VBScript mit Windows Scripting Host oder Alternativ sowas wie Python, Perl oder Kommandozeilen-PHP, unter Linux/*BSD/Mac OS X/Solaris/... ein Shell-Script oder auch Python oder Perl oder PHP oder sowas) sollte mehr als ausreichen.
Da Du Dich ja bereits mit PHP auskennst, würde ich Dir vielleicht wirklich empfehlen, ein Kommandozeilen-PHP-Script zu nutzen. Das kannst Du auch unter Windows einfach aus einer Batch-Datei per
@echo off
PATH C:\Pfad\zu\PHP;%PATH%
php C:\pfad\zum\script.php %1 %2
aufrufen (das %1 und %2 ist dazu da, damit die Parameter, die der Batch-Datei übergeben werden, auch dem PHP-Script wieder übergeben werden, die brauchst Du, um neue Revision zu kennen). Im Script selbst kannst Du dann (Du müsstest zusätzlich zu TortoiseSVN natürlich den Kommandozeilen-SVN-Client unter Windows installieren) das SVN-Kommandozeilentool svnlook aufrufen, z.B. so:
$geaendert = svnlook changed C:\pfad\zum\repository -r $revision; // $revision = 42 z.B.
in $geaendert stehen dann verschiedene Zeilen, die alle z.B. folgende Form haben:
U selfhtml/trunk/sdml/xml/regeln/xmldeklaration.xml
(U für aktualisiert, A für hinzugefügt, etc.) Das kannst Du in Deinem PHP-Script verarbeiten und dann nur die geänderten / hinzugekommenen Dateien per FTP hochladen. Zusätzlich kannst Du eine neue "version.txt" in Deinem PHP-Script erstellen und die dann per FTP automatisch hochladen (PHP besitzt ja FTP-Funktionen).
Ich hoffe, ich konnte Dir so ein bisschen skizzieren, wie das aussehen könnte, Du müsstest halt noch etwas basteln und rumprobieren. Wenn Du zu konkreten Problemen dabei noch Fragen hast, kannst Du sie natürlich gerne im Forum stellen.
Viele Grüße,
Christian