~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to doc/en/user-guide/hooks.txt

Merge description into dont-add-conflict-helpers

Show diffs side-by-side

added added

removed removed

Lines of Context:
8
8
perform actions before or after certain Bazaar operations.  The operations
9
9
include ``commit``, ``push``, ``pull``, and ``uncommit``.
10
10
For a complete list of hooks and their parameters, see `Hooks
11
 
<../user-reference/bzr_man.html#hooks>`_ in the User Reference.
 
11
<../user-reference/hooks-help.html>`_ in the User Reference.
12
12
 
13
13
Most hooks are run on the client, but a few are run on the server.  (Also
14
 
see the `bzr-push-and-update`_ plugin that handles one special case of
 
14
see the `push-and-update plugin`_ that handles one special case of
15
15
server-side operations.)
16
16
 
17
 
.. _bzr-push-and-update: https://launchpad.net/bzr-push-and-update/
 
17
.. _push-and-update plugin: http://doc.bazaar.canonical.com/plugins/en/push-and-update-plugin.html
18
18
 
19
19
Using hooks
20
20
-----------
21
21
 
22
 
To use a hook, you should `write a plugin <#writing-a-plugin>`_.  Instead of
 
22
To use a hook, you should `write a plugin`_.  Instead of
23
23
creating a new command, this plugin will define and install the hook.  Here's
24
24
an example::
25
25
 
33
33
    branch.Branch.hooks.install_named_hook('post_push', post_push_hook,
34
34
                                     'My post_push hook')
35
35
 
 
36
.. _write a plugin: http://doc.bazaar.canonical.com/plugins/en/plugin-development.html
 
37
 
36
38
To use this example, create a file named ``push_hook.py``, and stick it in
37
39
``plugins`` subdirectory of your configuration directory.  (If you have never
38
40
installed any plugins, you may need to create the ``plugins`` directory).