Setting up git-multimail on Gerrit ================================== Gerrit has its own email-sending system, but you may prefer using ``git-multimail`` instead. It supports Gerrit natively as a Gerrit ``ref-updated`` hook (Warning: `Gerrit hooks `__ are distinct from Git hooks). Setting up ``git-multimail`` on a Gerrit installation can be done following the instructions below. The explanations show an easy way to set up ``git-multimail``, but leave ``git-multimail`` installed and unconfigured for a while. If you run Gerrit on a production server, it is advised that you execute the step "Set up the hook" last to avoid confusing your users in the meantime. Set up the hook --------------- Create a directory ``$site_path/hooks/`` if it does not exist (if you don't know what ``$site_path`` is, run ``gerrit.sh status`` and look for a ``GERRIT_SITE`` line). Either copy ``git_multimail.py`` to ``$site_path/hooks/ref-updated`` or create a wrapper script like this:: #! /bin/sh exec /path/to/git_multimail.py "$@" In both cases, make sure the file is named exactly ``$site_path/hooks/ref-updated`` and is executable. (Alternatively, you may configure the ``[hooks]`` section of gerrit.config) Configuration ------------- Log on the gerrit server and edit ``$site_path/git/$project/config`` to configure ``git-multimail``. Troubleshooting --------------- Warning: this will disable ``git-multimail`` during the debug, and could confuse your users. Don't run on a production server. To debug configuration issues with ``git-multimail``, you can add the ``--stdout`` option when calling ``git_multimail.py`` like this:: #!/bin/sh exec /path/to/git-multimail/git-multimail/git_multimail.py \ --stdout "$@" >> /tmp/log.txt and try pushing from a test repository. You should see the source of the email that would have been sent in the output of ``git push`` in the file ``/tmp/log.txt``.