multilocation/batch processing

Marius Kruger amanic at
Thu Dec 11 11:45:04 GMT 2008

hi all,
so there has been talk again about multi-push, multi-pull, repo-push,
and I also know about *recursive-upgrade*.
Yesterday I also wrote essentially a multi-bind plugin which can rebind
directory structures on a (in our case new) central repository.
(we have about 40 components in our system where each has its own branch,
moving the central server is quite painful. Man I could use nested trees
right about now)

I envisage a more uniform way of going about this.
I want to endeavour to write a single plugin which aids in batch processing
bzr commands.
1) If its in a single plugin we can re-use a lot of the mechanics, and we
can be more consistant in the approach.

2) I have found that for example the multi-bind command needs to take a
number of extra commands than the normal bind, to make it really powerfull
as a batch process. So to me it makes sense to define yet another category
of bzr commands
(a la qlog, gannotate). I'm thinking of pre-pending a 'm' for multi or a 'b'
for batch.

3) I would like  a simple way for these batch-processing commands to work
for different location scenarios:
bzr bbind -b recurse:.   (recurses from specified path)
bzr bbind -b multi:x,y,z/zz   (specify multiple locations)
bzr bbind -b repo:/my_repo  (does all branches in repo)
bzr blog -b multi:s, -c -1
-v  (this one has a nice ring to it:)
bzr bookmark mybookmark multi:s,x,y
bzr bstatus -b bm:mybookmark --short
bzr bmissing -b recurse:. -b exclude:./not_me  (recurses from specified
path, but exclude specific paths/patterns)

4) examples of extra options to make it very usefull in batch mode
local_dir> bzr checkout -b
should recreate teh directory structure found on the server eg.
should create it locally too;

bzr bbind -b bm:my_list_of_branches bzr+ --relative-to ~
--update-push-location --update-pull-location

2008/12/11 Colin D Bennett <colin at>

> On Thu, 11 Dec 2008 05:33:27 +0200
> Alexander Belchenko <bialix at> wrote:
> > Colin D Bennett пишет:
> > > This script pushes a hierarchy of branches from one location to
> > > another.  It works better for me than the 'bzr multi-pull' command
> > > from bzrtools in many situations, because it will push new
> > > branches, while doing a multi-pull from the other end will only
> > > pull branches that already exist on that end.
> ...
> > May I persuade you to improve existing repo-push plugin instead of
> > writing new one from the scratch?
> Yes, you may!  Actually, I didn't know about repo-push.  Thanks for
> pointing me toward it.  I just checked it out and it does most of what I
> want, in a much better way than I did it, of course.
-------------- next part --------------
An HTML attachment was scrubbed...

More information about the bazaar mailing list