I found an article (in Polish) describing a subversion hook that will automatically update a server working copy. This seems perfect - after commiting a new revision, all changes are available online (entire development team can test the most up to date version, your boss may see the newest results, etc).
Anyway, I don't see any reason to use C here, so I've made my own version updating the repository using shell command:
svn up /home/website/domains/dev.website.com/website --no-auth-cache --username user --password passThe --no-auth-cache option is important here - authorization data is not going to be remembered here. Other two options define the authorization data.
You may have problems with file permissions, if the user which holds the repository is different than the user which hold the working copy (this was in my case). The problem I got was permission denied for .../.svn/lock file, which is a temporary file, existing only when the revision is being checked/committed. Oops... There is no one good solution for this - it depends on the server configuration. It can be adding one user to the group of another, changing the owner of the entire working copy files (no matter in which /home subdirectory it is, as long as web server can handle requests, etc).