Adding a local Git hook to a Gitolite managed repository is easy. As you would expect those hooks are managed by Git, also.
Imagine a configuration snippet like this in gitolite.conf
:
repo datenkollektiv/blog
RW+ = @blogger
To add a post-receive
hook simply create a file in local/hooks/datenkollektiv/blog/
named post-receive
.
#!/bin/sh
echo publishing blog
git --git-dir=${BLOG_HOME}/.git --work-tree=${BLOG_HOME} status
git --git-dir=${BLOG_HOME}/.git --work-tree=${BLOG_HOME} pull -f
cd ${BLOG_HOME} && make publish
echo blog updated.
Enjoy the result here: blog. That's it.
Ever needed to debug your Gitolite rights?
$ ssh git@git-server
PTY allocation request failed on channel 0
hello dilbert, this is git@git-server running gitolite3 3.5.3.1-2 (Debian) on git 1.9.1
R W testing