On Dec 14, 2009, at 18:33, Brendan Farr-Gaynor wrote:

> SVN newbie here. I'm wondering if there is anyone out there running running 
> Subversion on OS X Server (10.6)?

Most assuredly.


> I'm trying to use Subversion as a team web development solution and need to 
> have committed files moved to our central apache web root for web browsing. I 
> see this is a popular thing that people are looking for, but I'm having 
> trouble getting my hook scripts to run and I'm sure it's got to be a 
> permissions issue or something.
> 
> Based on some tutorials I've found in different places I've done the 
> following:
> 
> I created a C program in XCode similar to this (update_svn):
> 
> #include <stddef.h>
> #include <stdlib.h>
> #include <unistd.h>
> int main(void)
> {
> execl("/usr/bin/svn", "svn", "update", "--username", 
> "YOURSVNUSER", "--password", "YOURSVNPASSWD",
> "/Library/WebServer/", (const char *) NULL);
> return(EXIT_FAILURE);
> }

I have no reason to believe it won't work, but why a C program, out of 
curiosity? Wouldn't a 1-line shell script have done the trick? That's what I've 
used in the past.


> Created a post-commit script in my /hooks directory that has this:
> 
> #/bin/sh
> /Library/WebServer/update_svn
> 
> Then modified the permissions as such:
> 
> $ chown www /Library/WebServer/update_svn
> $ chmod +s /Library/WebServer/update_svn
> 
> $ chmod +s /myrepo/project/hooks/post-commit

Why +s? I wouldn't expect you to need that. What you do need is +x. Have you 
added that already?


> However, it doesn't seem to run (files aren't moved) and I'm perplexed as to 
> how to debug this, is there a log file somewhere? I'm not seeing anything in 
> /var/log/ for svn?

There is no log. Write one yourself if you want one, e.g.

$ cat post-commit
#/bin/sh
/Library/WebServer/update_svn 2>>/var/log/update_svn.log


> Does the above look right? Am I missing something? Has anyone out there had 
> to do this on an OS X server that could provide some guidance?

There should be nothing particularly unique about Mac OS X in this regard; it 
should function just like any other UNIX-like OS.


> I tried running the file from the shell as root (update_svn binary) and it 
> reports that it 'Skipped: /Library/WebServer/' what does that mean?

It means it doesn't think /Library/WebServer is a working copy. Is it?


Reply via email to