add a more helpful hook example: in post-receive
authorAntoine Beaupré <anarcat@koumbit.org>
Sun, 1 Dec 2013 06:39:07 +0000 (01:39 -0500)
committerEric S. Raymond <esr@thyrsus.com>
Sun, 1 Dec 2013 11:35:00 +0000 (06:35 -0500)
the previous suggestion seemed to be about the update hook, but it's
usually bad practice to setup notification hooks there, because if
they fail, the push fails.

parsing the git documentation to find exactly the incantation is not
exactly trivial either...

irkerhook.xml

index 886b00633ee9522e31f8fc7ca79b8a5b405d46f3..b54560ccb8b9305792340e1d59f509083b19ffe7 100644 (file)
@@ -193,6 +193,20 @@ irkerhook.py --refname=refs/heads/master HEAD
 <para>However, this will not give the right result when you push to 
 a non-default branch of a bare repo.</para>
 
+<para>A typical way to install this hook is actually in the
+<filename>post-receive</filename> hook, because it gets all the
+necessary details and will not abort the push on failure. Use the
+following script:
+
+<programlisting>
+#!/bin/sh
+
+echo "sending IRC notification"
+while read old new refname; do
+    irkerhook --refname=${refname} $(git rev-list --reverse ${old}..${new})
+done
+</programlisting>
+
 <para>Preferences may be set in the repo <filename>config</filename>
 file in an [irker] section. Here is an example of what that can look
 like:</para>