Czsami problemy są nieco ukryte, jednak jak zawsze debug daje radę. Hooks w svn’ie to rzecz bardzo przydatna, jeszcze bardziej jak chcemy po każdym commit’owaniu otrzymać działającą kopię na stronie testowej, klasyczne wykorzystanie cron’a jest często uciążliwe, a hook post-commit wykonywany jest jak sama nazwa wskazuje po commit’owaniu, autoupdate można zrobic tak:

{REPO}/hooks/post-commit (skrypt z bitem wykonywalności)


#!/bin/sh
/usr/local/bin/update

Sam skrypt update w moim przypadku to C:


#include
#include
#include
int main(void)
{
	execl("/path/to/svn", "svn", "update", "--username",
	"USERNAME", "--password", "PASSWORD", "--no-auth-cache",
	"/path/to/svnsite/",  (const char *) NULL);
	return(EXIT_FAILURE);
}
` ```

gcc update.c -o update
cp update /usr/local/bin
chmod +s /usr/local/bin/update

W całym kodzie ważny jest –no-auth-cache, ponieważ bez tego system będzie prosić o dopowiedź w jaki sposób przchowywać hasła w pliku cache, jakoże wykonywane jest to przez użytkownika apache (w moim przypadku), który nie posiada własnego shella i home (oczywiste), pytanie takie jest powodem nie działania skryptu.