Wednesday, October 28, 2009

SVN Hooks

I am working on a project where I need directory of my cakePHP application on the server update on each svn commit. Why? Because I am lazy. I don't want to login to remote server every time I commit something, run svn update...or worse ftp. So I've been reading about svn hooks, and it's a very powerful thing.

These are the steps to make it work:

  • Create and compile c program that will perform svn update, and save it somewhere let's say in /svn/autoupdate

    int main(void)
    execl("/usr/local/bin/svn", "svn", "update",
    (const char *) NULL);

  • Add post-commit to svnrepo/hooks where compiled c program is referenced:


  • chmod +x post-commit

Try to commit something to svn on remote server and watch svn hooks magic in action.

Blogger Syntax Highliter