It turns out that 'svnlook diff' seems to want to create a temporary .svn
directory as it runs. Apache was invoking post-commit with / as the working
directory. Changing my post-commit script so that it first cd's to a
directory that is writable by my repository's 'svn' user (the userid as
which I'm running Apache) solves the problem.
The requirement for 'svnlook diff' to be run from directory to which it has
write permissions should perhaps be documented somewhere. Or, the svnlook
should perhaps be updated to write to create temporary files in /tmp and not
try to write directly to the working directory.
Anyways, thanks to those how made suggestions.
> -----Original Message-----
> From: John Szakmeister [mailto:email@example.com]
> Sent: Monday, January 12, 2004 12:17 PM
> To: Stuart Robertson
> Cc: firstname.lastname@example.org
> Subject: Re: Manually invoking post-commit works,
> svn-invoking post-commit doesn't
> On Monday 12 January 2004 02:27, Stuart Robertson wrote:
> > Thanks for the info. I redirected stderr to stdout and got
> the following
> > in my summary email:
> > svn: Expected version '2' of repository; found version '3'
> > Turns out I had old svn 0.32.1 binaries in /usr/local/bin,
> and the newly
> > installed 0.35.1 binaries (installed via RPM) where placed
> into /usr/bin.
> > Moving the old binaries into an archive folder *ALMOST* did
> the trick.
> > Now, most of my script works, but "svnlook diff" *stil*
> returns nothing.
> > When manually invoked, svnlook diff works fine, however
> when invoked by
> > Apache, it produces no output whatsoever, even with stderr
> redirected to
> > stdout.
> > Any one seen this before?
> Any time I've ever seen this, it has been a permissions
> related problem.
> Double check your permissions and make sure that Apache can
> properly access
> the repository.
To unsubscribe, e-mail: email@example.com
For additional commands, e-mail: firstname.lastname@example.org
Received on Mon Jan 12 11:30:00 2004