Hi Brian,
The problem wasn't the env however I ran "set" and redirected it to a
file in a hook script and found the complete env in Windows was set
contrary to the docs.
The actual problem was that Apache is normally run as the SYSTEM user
so I changed it to run as a user having access privs to the repo and
it worked.
-Brian
On Aug 5, 2007, at 7:21 AM, Brian E. Fox wrote:
> On windows, the hooks are executed with no env set. This means you
> need to define any vars that are expected inside you bat file. It
> is also why something may work when you run it manually but not as
> a hook.
>
>
>
> From: Brian Krusic [mailto:brian@krusic.com]
> Sent: Wednesday, August 01, 2007 10:19 PM
> To: Ryan Schmidt
> Cc: users@subversion.tigris.org
> Subject: Re: hook script basics
>
>
>
> Hi Ryan,
>
>
>
> In the post-commit file, I only have del f:\temp\foo
>
>
>
> ... which worked upon committing a file.
>
>
>
> I then placed;
>
>
>
> svn info f:\jobs\cooljobs >> c:\temp\foo.txt
>
>
>
> .. and it worked.
>
>
>
> Why isn't svn update working while as a post hook? i did choose to
> cache creds to simplify things. It does work as a stand alone
> batch file.
>
>
>
> -Brian
>
>
>
>
>
>
> On Aug 1, 2007, at 5:37 PM, Ryan Schmidt wrote:
>
>
>
>
> On Aug 1, 2007, at 18:27, Brian Krusic wrote:
>
>
>
> On Aug 1, 2007, at 3:47 PM, Ryan Schmidt wrote:
>
>
>
> On Aug 1, 2007, at 16:19, Brian Krusic wrote:
>
>
>
> I've implemented a few hook scripts in the past; checking case,
> forcing log messages and sending emails about the commits.
>
>
>
> However it appears I just implemented this stuff w/o understanding it.
>
>
>
> * problem *
>
>
>
> I have a simple post-commit.bat file which contains commands I want
> to call.
>
>
>
> In my case the contents of the post commit is;
>
>
>
> @echo off
>
> C:\Progra~1\Subversion\bin\svn update --username foo --password bar
> --no-auth-cache F:\Jobs\Cooljob
>
>
>
>
>
> The F:\Jobs\Cooljobs is the local dir that sits on the repo server
> itself as I checked out the repo on the same PC.
>
>
>
> The username/pass is used for example only.
>
>
>
> The file works if I exe it from a cli on the repo server but not
> when I commit from another PC.
>
>
>
> I expect it to work like so;
>
>
>
> 1 - User commits a file from some workstation.
>
> 2 - Repo executes the post commit which updates a checked out copy
> on the server itself.
>
>
>
> Should work, provided you're checking out via http(s) or svn(+ssh).
> Not sure how it is on Windows, but on UNIX, you'd also need to make
> sure that the permissions of F:\Jobs\Cooljobs are such that the
> user under which your repository is served is allowed to modify
> that directory.
>
>
>
> Is there any thing else I am missing?
>
>
>
> Any error log I can check?
>
>
>
> Apache logs show no errors.
>
>
>
> When I run the post-commit.bat from the command line, it does
> work. Its as though the post-commit.bat isn't being tickled or I
> cannot see the error.
>
>
>
> There is no hook script error log. If you want something logged,
> you must do it yourself in your hook script.
>
>
>
> Try a minimal hook script that does nothing other than appending
> something to a logfile, stored in a location you know everyone has
> write access to. On UNIX I would suggest the /tmp directory; I'm
> sure there's an equivalent on Windows.
>
>
>
>
>
>
>
>
>
>
>
>
>
>
Received on Sun Aug 5 18:07:33 2007