path: root/contrib/hooks/multimail/doc/gerrit.rst
diff options
Diffstat (limited to 'contrib/hooks/multimail/doc/gerrit.rst')
1 files changed, 56 insertions, 0 deletions
diff --git a/contrib/hooks/multimail/doc/gerrit.rst b/contrib/hooks/multimail/doc/gerrit.rst
new file mode 100644
index 0000000..8011d05
--- /dev/null
+++ b/contrib/hooks/multimail/doc/gerrit.rst
@@ -0,0 +1,56 @@
+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 `` status`` and look
+for a ``GERRIT_SITE`` line). Either copy ```` to
+``$site_path/hooks/ref-updated`` or create a wrapper script like
+ #! /bin/sh
+ exec /path/to/ "$@"
+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
+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 ```` like this::
+ #!/bin/sh
+ exec /path/to/git-multimail/git-multimail/ \
+ --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``.