You are here

Sandkastenspiele I - Automatisches "svn update"

Error message

  • Deprecated function: Function create_function() is deprecated in _geshifilter_prepare() (line 126 of /is/htdocs/wp1022769_0UTS5D8WKG/www/siarp.de/sites/siarp.de/modules/geshifilter/geshifilter.pages.inc).
  • Deprecated function: Function create_function() is deprecated in _geshifilter_prepare() (line 131 of /is/htdocs/wp1022769_0UTS5D8WKG/www/siarp.de/sites/siarp.de/modules/geshifilter/geshifilter.pages.inc).
  • Deprecated function: Methods with the same name as their class will not be constructors in a future version of PHP; GeSHi has a deprecated constructor in require_once() (line 837 of /is/htdocs/wp1022769_0UTS5D8WKG/www/siarp.de/sites/all/modules/libraries/libraries.module).
  • Deprecated function: Function create_function() is deprecated in _geshifilter_process() (line 231 of /is/htdocs/wp1022769_0UTS5D8WKG/www/siarp.de/sites/siarp.de/modules/geshifilter/geshifilter.pages.inc).
  • Deprecated function: The each() function is deprecated. This message will be suppressed on further calls in menu_set_active_trail() (line 2405 of /is/htdocs/wp1022769_0UTS5D8WKG/www/siarp.de/includes/menu.inc).

Ich habe ein Repository tests, in dem sich ein Verzeichnis automaticupdate/website befindet, das bei jedem Commit automatisch ins htdocs-Verzeichnis ausgecheckt werden soll.

Dazu erstelle ich ein Verzeichnis htdocs/tests und übertrage es an Benutzer svn.
Danach wird manuell der 'initial checkout' durchgeführt:

su svn
cd /usr/local/apache2/htdocs/tests
svn checkout file:///home/svn-repos/tilman/tests/automaticupdate/website
exit

Für die automatischen Updates wird jetzt noch ein hook-Skript geschrieben. Es heißt post-commit, gehört selbstverständlich dem Benutzer svn, ist ausführbar und liegt im Unterverzeichnis /hooks des Repository. (Da sind auch schon templates für die verschiedenen möglichen hooks.)

#!/bin/sh
svn update /usr/local/apache2/htdocs/tests/website

Jetzt wird der aktuelle Stand immer unter http://www.siarp.de/tests/website/ angezeigt.

Nächster Schritt: Kleinere Veränderungen auf den Server zum Testen übertragen, ohne gleich einen Commit machen zu müssen. (Wie?)

Es wäre außerdem noch schön, Apache grundsätzlich die Auslieferung von allem, was ein ".svn" im Pfad hat zu verbieten. Derzeit sind die Metadaten noch einsehbar.