New to bzr, questions

Erik Bågfors zindar at gmail.com
Fri Mar 17 10:12:35 GMT 2006


2006/3/17, Balazs Ree <ree at ree.hu>:
> Hi!

Hi

> I've just started to use bzr recently. About my background: I am heavily
> using repositories for practically all work. I am an absolute convert of
> the distributed model already introduced by Bazaar 1 (tla, baz) and I use
> baz for my project works. I however also work with svn on community
> projects where I have no influence on the choice of repository, so I would
> say I know pretty much all the pros and cons of different system and have
> my well settled usage patterns.

bzr only has pros :)


> I did some experimentation on a sample project and have read the docs
> that I found on the wiki. I find bzr is a really great product as it is
> now, thank you very much for creating it. I would already think of
> switching completely from baz. I understand that with bzr I need to follow
> a different workflow and I am open to find the way towards that. But I yet
> have the following questions, issues that I would need to understand
> better.
>
> 1. Do I see well, that with branching all the project contents including
> all the revisions are duplicated to the new branch? Of course I
> understand the advantages of this. Now the multiplication of space is
> no problem as far as personal working areas are concerned, but say, if I
> want to publish a project, I have four revisions and a few branches per
> each revision to publish, then I need several times the storage place on
> the publication server (plus I see all files are uncompressed). Do I see
> this correctly?

Well.. bzr 0.8 (not released yet) has support for shared repositories.
Where several branches can share the same storage place for revisions.

For example, bzr.dev is 55M on my laptop, I also have four branches of
bzr.dev in a shared repository.  The total of these branches and
repository is 62M.

So once 0.8 is released you are able to create "cheap branches".

> 2. I did not find a way to do a diff between two branches. By "diff" I
> mean a diff output of the complete project, not simply a list of missing
> patches. This is something I need to do a lot: look at the actual
> difference between a branch I am working on and another one. Is there a
> way to achieve this?

What I normally do is
bzr merge ../otherbranch
bzr diff

Then I can revert the whole thing with "bzr revert".

I know there has been talk about being able to do "bzr diff
-rbranch:../otherbranch as well.. I don't know if that's implemented
yet.

> 3. I would say that svn:externals is really an inevitable thing once you
> realize you need it. In baz there is (for good reason) limited support
> for this using configs. This is not perfect but quite usable. Is there
> some ongoing work in bzr in this direction, that I could check out?

Don't know anything about this.

> 4. Cherrypicking changesets. This is also very important for me and I saw
> there is support for this but I could not yet experiment with it.

It works just great to do "bzr merge -r5..7 ../otherbranch" for
example, however, bzr currently doesn't track metadata for partial
merges.  This will change in the future.

/Erik




More information about the bazaar mailing list