On Fri, Feb 03, 2012 at 02:42:49PM -0800, Cory Finger wrote:
> Hello, I was just curious. I am developing a script that involves both
> a pre-commit hook and a post commit hook.
> The post-commit hook opens a file, reads a file, and saves a file. I
> was wondering, do I need to set up a lock-file system to ensure that 2
> people committing at the same time will not cause a problem in the
> file writing process? Or do the commit hooks run asynchronously?
Assuming you're writing to the same file name during each hook
invocation, yes, you'll definitely need to introduce locking.
Alternatively, you could write to a revision-specific file during
post-commit, then have a little daemon that writes to the intended
file sequentially, as files become available.
If the time it takes you to process a commit is proportional to the
size of a commit, your post-commit hooks will finish out of order.
Post commit for rev 6 (30MB delta) is running.
Post commit for rev 7 (1 prop change) starts, finishes.
Post commit for rev 6 finishes a minute later.
Unless post-commit r7 logic depends on r6, I'd highly recommend
the daemon approach over locking.
Received on 2012-02-04 00:11:19 CET