Bazaar as a client to existing Subversion repositories (was: [ANNOUNCE] bzr-svn 0.4.11rc1)

Russel Winder russel.winder at concertant.com
Sat Aug 9 09:49:09 BST 2008


Ben,

On Sat, 2008-08-09 at 18:15 +1000, Ben Finney wrote:
> Russel Winder <russel.winder at concertant.com> writes:
> 
> > Bazaar is now the preferred client for interacting with Subversion
> > stores -- no more Subversion checkouts, and no need for Git :-)
> 
> Several threads this year on this mailing list have chronicled my poor
> experiences trying to use Bazaar as a client to existing Subversion
> respositories, and (among other things) the commit noise that ensued
> from ever-increasing property changes in the repository.

There are two ways to deal with this:

1.  Ensure that the Subversion commit hook doesn't write the property
changes.

2.  Use bzr dpush

My experience is that using the Python script commit hook for
Subversion, the commit emails do not have the ever increasing property
list problem, I just get a one liner saying the property changed.  Sites
that use svnlook as the commit hook do get the huge emails.

dpush does the whole "do not dump the Bazaar history into Subversion"
thing, at the cost of lots of rebasing and therefore changing identities
of commits.  The upside is no property changes in the Subversion
repository, the downside is that you can't sensibly branch from the
Bazaar branch of the Subversion repository.   

> It was eventually revealed that 'bzr-svn' was not designed with this
> use in mind (instead, IIUC, being intended for use as a way to store
> Bazaar data in a Subversion repository only ever used by other Bazaar
> users), and would need a redesign to store its data in significantly
> different ways to avoid such property-change noise on commits.

That is the standard model, and it works well -- but only if you don't
get the horrible commit emails from Subversion.  This is a Subversion
installation set up issue though, it is not something that Bazaar is in
control of.

The rebase/dpush combination mirrors directly the way Git works and so
avoids completely all the commit hook email noise at the expense of
treating the Subversion repository as the master and not as a repository
for a Bazaar branch -- in exactly the same way that Git relates to a
Subversion repository.

So Bazaar has two ways of working with Subversion, Git only has one.

> Reading the change log posted (thanks Jelmer!) I can't determine
> whether, or under what circumstances, this might have changed in
> recent 'bzr-svn' versions. Do I take your statement above as saying
> this issue has been decisively resolved? How? What is needed to
> implement it correctly as a user?

Very decisively, Jelmer wrote dpush especially to shut me up about the
facilities that Git had :-)

Where I need to branch off a branch of a Subversion repository, then you
cannot sensibly use dpush as far as I know.  Where the Bazaar branch is
just a tool for working with a Subversion store dpush works very well..
OK there are occasional really weird behaviours of Bazaar, but these are
caching things I think, do not affect the correctness of the Subversion
repository or the Bazaar branch.

-- 
Russel.
====================================================
Dr Russel Winder                 Partner

Concertant LLP                   t: +44 20 7585 2200, +44 20 7193 9203
41 Buckmaster Road,              f: +44 8700 516 084
London SW11 1EN, UK.             m: +44 7770 465 077
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part
Url : https://lists.ubuntu.com/archives/bazaar/attachments/20080809/e56acb77/attachment.pgp 


More information about the bazaar mailing list