[ANNOUNCE] bzr-gardener: A new way to manage lots of branches and working trees

Vincent Ladeuil v.ladeuil+lp at free.fr
Wed Sep 15 17:37:12 BST 2010


Hi all,

I'm happy to announce a first version (not named, not numbered, use at
your own risk, no compatibility planned before 1.0 :) of a new plugin.

If you have a bunch of branches and working trees taking dust for years
like me, you should have asked yourself (once or thrice):

- where did I left a work in progress ?

- which of my branches have already been merged and can be deleted ?

- which branches should I copy from my laptop to my desktop when I come
  back from some sprint ?

- which of my plugins are waiting for an update ?

With that in mind and a bunch of discussions with many of you [1], I started
working on this plugin at the last Launchpad & Bazaar Epic.

There is a single command (so far) called 'gardener' which walks a
hierarchy searching for branches and working trees. If you run it inside
a working tree or branch, only one is found.

An action is performed on all items of interest encountered. Only
'status' exist so far, but more will come.

'status' can display one or several states:
- uncommited,
- shelved,
- merged,
- pullable,
- pushable.

More are planned but I think this subset is good enough to start with.
Read the TODO for more ideas.

A few ones:
- pull in all mirror branches,
- delete/archive merged branches (feature or bug fixes),
- clean working trees when there are no uncommitted changes,
- find all shelved changes,
- backup all branches to a remote server,
- get actions from config files so 'bzr gardener' can be run from a
  shared repository root to take care of all branches at once (or any
  subset).

The project has been registered on launchpad so it's just a:

  bzr branch lp:bzr-garder ~/.bazaar/plugins/gardener

away from your enjoyment :)

Feedback highly welcome,

         Vincent

[1]: Too much to cite them all, but I stole some ideas from
     bzr-removable :)



More information about the bazaar mailing list