SVN post-commit hook for Windows and Linux

For demonstration purposes I have rewritten a post-commit hook (which was originally developed for Linux) for Windows.

post-commit (Linux version)

#!/bin/sh
# POST-COMMIT HOOK
# The post-commit hook is invoked after a commit.
#
#   [1] REPOS-PATH   (the path to this repository)
#   [2] REV          (the number of the revision just committed)
#
REPOS="$1"
REV="$2"
 
echo $REPOS $REV >> /tmp/test.txt

post-commit.bat (Windows version)

@echo off
:: POST-COMMIT HOOK
:: The post-commit hook is invoked after a commit.
::
::  [1] REPOS-PATH   (the path to this repository)
::  [2] REV          (the number of the revision just committed)
::
@echo off  
 
set REPOS=%1
set REV=%2   
 
echo %REPOS% %REV% > C:/Temp/test.txt

SVN SSH post-commit checkout hook

Wenn man mit SVN ein Webprojekt versioniert, dann ist es wünschenswert, den aktuellen Stand auch live auf einem Webserver im Internet zu haben. Dieser Wunsch lässt sich mit sogenannten „hooks“ realisieren. In jedem SVN Projektordner gibt es einen Unterordner namens „hooks“. In diesem Ordner sind Shell-Skripte für verschiedene Momente abgelegt. Diese Scripte werden zum jeweiligen Zeitpunkt automatisch vom SVN Server aufgerufen.

Das post-commit-Skript wird direkt nach einem Commit ausgeführt und bietet sich hervorragend an, um direkt nach einer Projekt-Änderung den aktuellen Stand für den Webserver zur Verfügung zu stellen. Dazu muss man im Skript nur festlegen, dass ein checkout in das gewünschte Web-Verzeichnis ausgeführt werden soll. Wie das geht, zeige ich im folgenden Artikel.
SVN SSH post-commit checkout hook weiterlesen