plugins on server - query

Andrew Bennetts andrew.bennetts at canonical.com
Thu Feb 12 00:15:17 GMT 2009


Robert Collins wrote:
> bzrlib/help_topics/en/hooks.txt seems to claim that plugins are disabled
> on a server [for the same machine case] if they are disabled on a
> client; that doesn't make sense to me. Surely its purely 'if enabled on
> the server'?

I believe what it's saying is that if your source machine is also your
target machine, then plugins are run if the source (i.e. client) is running
plugins.  

Separately, if the connection is via bzr*://, the server process may run
plugins.

I agree the text is far from clear.  It really boils down to:

  * the client uses plugins installed on the client-side (unless
    --no-plugins is used)
  * if there's a bzr server process, that process uses plugins installed on
    the server-side (unless the server process was started with --no-plugins
    or the WSGI application doesn't call load_plugins(), etc.)

Everything else follows from those two points (e.g. what happens when the
client and server hosts are the same host, etc.).

I think the convoluted text was an attempt to make clear the following parts
about which hooks are run on the client and which are run on the server.
Really, there are three categories of hooks I see:

  * a hook that will be run in the client process, and in the server process
    if there is one.
  * a hook that is only run in the client.
  * a hook that is only run by SmartTCPServer (server_started and
    server_stopped).

Again, I don't think this is as clear as it could be either...

-Andrew.




More information about the bazaar mailing list