RFC: shipping external-tree plugins

Matthew D. Fuller fullermd at over-yonder.net
Wed Jul 30 08:42:42 BST 2008

On Wed, Jul 30, 2008 at 05:15:35PM +1000 I heard the voice of
Robert Collins, and lo! it spake thus:
> The consensus we reached as a first-step was to just start bundling
> plugins - that way users will have all these useful commands
> immediately available, and we can defer decisions about merging the
> contents into the bzr mainline vs keeping separate to another day.

OK -- Well, the problem is, that from an external perspective, that
latter decision _isn't_ deferred; it's made as soon as the bundling

Consider the cases:

1) bzr 1.8 is released.  The next day, a significant bug is found in
   some part of it.  I'm confident that the bug will be fixed.  And
   shortly thereafter, bzr 1.8.1 will be released.  The package is
   updated, people update their installs, the bug is no longer a

2) bzr 1.8 is released.  The next day, a significant bug is found in
   some part of bzrtools 1.8.0 (shipped as part of bzr).  I'm
   confident that the bug will be fixed.  I'm a lot LESS confident
   that bzr 1.8.1 will be released, with no changes to the bzr part of
   it, just to push out the new bzrtools 1.8.1 code.  Thus, the
   package isn't updated, people can't update their installs, and
   everybody is stuck with the bug until bzr 1.9.

And that's bzrtools.  Imagine we ship something a lot lower profile,
like bzr-stats.

bzr-stats' "ancestor-growth" command is broken with bzr.dev/1.6 (it
wants get_revision_graph).  I'm not entirely sure WHAT that command
does.  The help doesn't tell me anything meaningful about the output,
and a glance at it gives me only a vague idea.  Even with that, I
don't know what I'd ever want to do with it.  It's probably the most
obscure command in a somewhat obscure plugin.  But since it's shipped
with bzr, the only way a new version can go out is if a new bzr
release is made with it.  Well, people could override it themselves
with their ~/.bazaar/plugins/, but the system-wide installation is
stuck, until the bzr team rolls a new bzr release.

Matthew Fuller     (MF4839)   |  fullermd at over-yonder.net
Systems/Network Administrator |  http://www.over-yonder.net/~fullermd/
           On the Internet, nobody can hear you scream.

More information about the bazaar mailing list