Setup Gitolite v3 and Email Notifications

The most common setting would be to configure the email hooks to send notifications on a push operation. This is not hard, however, I found the information of how to setup email notifications are pieces and pieces everywhere online, some of them are targeting Gitolite v2, and some of them are misleading. After tried some approaches, and here is what works for me.

1. Setup hook scripts

I tried

ln -s /usr/share/doc/git/contrib/hooks/post-receive-email /home/git/.gitolite/hooks/common/post-receive

However, my git user doesn’t have the permission to execute this script. So, finally, I decided to simply copy the script to user folder. Don’t forget to setup Gitolite (again) after put hook scripts into place, so that Gitolite can deploy scripts to all bare repositories.

cp /usr/share/doc/git/contrib/hooks/post-receive-email /home/git/.gitolite/hooks/common/post-receive
chmod a+x /home/git/.gitolite/hooks/common/post-receive
$HOME/bin/gitolite setup --hooks-only

2. Setup .gitolite.rc

Edit ~/.gitolite.rc file, and change GIT_CONFIG_KEYS as '.*',

vim /home/git/.gitolite.rc
:%s/'',/'.*',/
:wq

If you skip this step, following errors will be presented when attempt to push repository specific configurations.

remote: FATAL: git config 'hooks.mailinglist' not allowed
remote: check GIT_CONFIG_KEYS in the rc file

If you installed git using my previous article about how to migrate from svn to git then you already have changed this.

3. Setup repositories

For the repositories desire to send email notifications, add

config hooks.mailinglist = 'user1@example.com, user2@example.com'
config hooks.emailprefix = '[repo_name] '

to local gitolite-admin repository as discribed in the Giolite README, then push.

3 thoughts on “Setup Gitolite v3 and Email Notifications”

  1. What’s meaning of this description?
    “Edit ~/.gitolite.rc file, and change GIT_CONFIG_KEYS as ‘.*’,”

    I need delete GIT_CONFIG_KEYS and use ‘.*’ to replace it?

    Or

    I need change its following content from ” to ‘.*’ ?
    It’s a really a confusing statement, I suspect my 2nd understanding is right, because I’ve tried the 1st one with a failure.

    1. Ok, I confirmed my 2nd understanding is right. I suggest to change the description from:
      “Edit ~/.gitolite.rc file, and change GIT_CONFIG_KEYS as ‘.*’,”
      to:
      “change the lines of GIT_CONFIG_KEYS from the following:

      GIT_CONFIG_KEYS => ”,

      to:

      GIT_CONFIG_KEYS => ‘.*’,

Leave a Reply

Your email address will not be published. Required fields are marked *