Você precisa modificar o gancho post commit. Colocado aqui:
PATH_TO_YOUR_REPO/hooks/post-commit.tmpl
Altere seu nome (ou crie um novo e salve esse para referência futura) para:
PATH_TO_YOUR_REPO/hooks/post-commit
Então chown
e chmod
deixam seu usuário svn (tipica- mente apache
) executar aquele arquivo:
chown apache.apache PATH_TO_YOUR_REPO/hooks/post-commit
chmod g+x PATH_TO_YOUR_REPO/hooks/post-commit
Supondo que você queira exportar o tronco de seu repositório para um caminho local, aqui está o que eu uso para implantar automaticamente no meu servidor de teste, que também é meu servidor de repositório SVN (não recomendo usar isso para implantar em servidores de produção, um script personalizado para isso). Isso procurará uma tag **DEPLOY**
em sua mensagem de confirmação e implementará apenas se for esse o caso.
#!/bin/sh
REPO="$1"
REV="$2"
if ( svnlook log -r $REV $REPO | grep "**DEPLOY**" ) then
svn export --force -r $REV "file://$REPO/trunk" /var/www/html/yourapp
fi