~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

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

  • Committer: Vincent Ladeuil
  • Date: 2017-01-17 13:48:10 UTC
  • mfrom: (6615.3.6 merges)
  • mto: This revision was merged to the branch mainline in revision 6620.
  • Revision ID: v.ladeuil+lp@free.fr-20170117134810-j9p3lidfy6pfyfsc
Merge 2.7, resolving conflicts

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/hooks-help.html>`_ in the User Reference.
 
11
<../user-reference/index.html#hooks>`_ 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
14
see the `push-and-update plugin`_ that handles one special case of
54
54
itself.  The third argument is a name ``'My post_push hook'``, which can be
55
55
used in progress messages and error messages.
56
56
 
 
57
To reduce the start-up time of Bazaar it is also possible to "lazily" install hooks,
 
58
using the ``bzrlib.hooks.install_lazy_named_hook`` function. This removes the need
 
59
to load the module that contains the hook point just to install the hook. Here's lazy
 
60
version of the example above::
 
61
 
 
62
    from bzrlib import hooks
 
63
 
 
64
    def post_push_hook(push_result):
 
65
        print "The new revno is %d" % push_result.new_revno
 
66
 
 
67
 
 
68
    hooks.install_lazy_named_hook('bzrlib.branch', 'Branch.hooks',
 
69
        'post_push', post_push_hook, 'My post_push hook')
 
70
 
57
71
Debugging hooks
58
72
---------------
59
73