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.
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)
Log on the gerrit server and edit $site_path/git/$project/config
to configure git-multimail.
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.