From d3d399941061d95cd4aae6ae2cf7594a4e5e7452 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Sun, 26 Oct 2008 15:13:04 -0400 Subject: do no-op post_commit test in wrapper This speeds up web commits by 1/4th of a second or so, since perl does not have to start up for the post commit hook. perl's locking is completly FuBar, since it's impossible to tell what perl flock() really does, and thus difficult to write code in other languages that interoperates with perl's locking. (Let alone interoperating with existing fcntl locking from perl...) In this particular case, I think I was able to find a way to avoid the insanity, mostly. The C code does a true flock(2), and if perl is using an incompatable lock method that does not use the same locking primative at the kernel level, then the C code's test will fail, and it will go ahead and run the perl code. Then the perl code's test will test the right thing. On Debian, at least lately, perl's flock() does a true flock(2), so the optimisation does work. --- debian/changelog | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'debian') diff --git a/debian/changelog b/debian/changelog index d8e26e4c9..63556c941 100644 --- a/debian/changelog +++ b/debian/changelog @@ -31,8 +31,8 @@ ikiwiki (2.68) UNRELEASED; urgency=low * external: RPC functions can be injected to replace exported functions. * Updated Spanish translation from the ever vigilant Victor Moral. * Updated Danish translation from Jonas Smedegaard. Closes: #503117 - * Optimise the no-op post-commit hook in the web edit case by skipping - loading plugins. (Particularly a win when using external plugins.) + * Optimise the no-op post-commit hook, to speed up web edits by a fraction + of a second. * Add support for checking pushes from untrusted git committers. This can be used to set up anonymous git pushes, and other similar things. -- cgit v1.2.3