[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: Hooks

From: Ryan Schmidt <subversion-2009d_at_ryandesign.com>
Date: Mon, 14 Dec 2009 19:57:43 -0600

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?
Received on 2009-12-15 02:58:41 CET

This is an archived mail posted to the Subversion Users mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.