On Jan 14, 2010, at 09:06, Johan Corveleyn wrote:

>> Is it not the case that a svn commit cannot start before the post-commit 
>> hooks has finished? I am asking becuase I will be implementing a DR system 
>> using svnsync, but I am not planning to let the post-commit finish before 
>> svnsync has finished (I don't care if it takes a bit longer, I can cope with 
>> that and with my users).
> 
> No, that's definitely not the case. Both pre-commit and post-commit
> hooks can run simultaneously for multiple commits in parallel.
> Otherwise, a pre/post-commit hook could end up being a big bottleneck.
> 
> As a practical example: if your pre-commit hook does validation of
> properties (e.g. making sure svn:eol-style is set correctly on the
> right types of files), then for a commit with a lot of files it may be
> running for multiple seconds (even minutes). In the meantime, other
> commits can be made without problems, without being bothered by that
> one commit which takes a long time to pass through pre-commit hook. I
> saw this in action myself with such a pre-commit hook, after I added
> some debug logging at the start and the end of the hook.

pre-commit hook, I believe you're right. But Subversion blocks the commit until 
the post-commit is done. Only one post-commit hook will run at a time. Unless 
you tell it to allow simultaneous runs, by redirecting the hook's stdout and 
stderr someplace.

Reply via email to