installing plugins in the repository, rather than the client

Andrew Schulman andrex at alumni.utexas.net
Wed Jan 14 20:02:56 GMT 2009


Hi all.  First post here.

I want to have certain hooks executed at the repository, rather than client,
level.  For example, whenever someone commits to a branch in my repository, I
want to check and adjust some file permissions.  Now I can write a bzr plugin to
do that, but there are two problems:

* Every committer has to install that plugin.  If one of them doesn't, the
system doesn't work.

* Once a user installs that plugin, it will work on all of their commit
operations in any repository, not just mine, unless I add some nasty testing for
my particular repository.

This is undesirable.  What I really want is to attach the plugin to the
repository, not the clients.  When a user committed to my repository, the plugin
would fire.  The users wouldn't have to change their clients, and none of their
operations on other repositories would be affected.  

In principle, I can see that this could be done in the "smart server", but I
don't see anything in the docs that says how.  The docs do say when a plugin
runs on the client vs. the server, but IIUC that still assumes that it's
installed on the client.

Possible?

Thanks,
Andrew.




More information about the bazaar mailing list