bzr-svn branching schemes

Jelmer Vernooij jelmer at vernstok.nl
Fri Apr 11 13:57:31 BST 2008


Hi Russ,

On Tue, Apr 08, 2008 at 03:54:38PM -0500, Russ Brown wrote:
> Apologies for the length of this...

> Can anyone point me at more information on bzr-svn branching schemes  
> than is documented by bzr help svn-branching-schemes?

> I've finally checked out our rather large (24345 revision) subversion  
> trunk, creating a shared repository (excluding the checkout itself) of  
> about 600M.

> Fantastic. So I try checking out another branch from the repository and  
> as expected it's quick (well, as quick as any 400M working copy would  
> take to check out) and updating both checkouts works just fine (if a tad  
> slower than I'd like, but that's a another story).

> The acid test for me was merging between branches. We use svk at the  
> moment so I'm very much hoping that bzr-svn's support for svk allows me  
> to start using svk transparently to other users (with a view to moving  
> them all to bzr following the evaluation).

> Unfortunately, merging isn't working. When I try to merge trunk into the  
> branch I checked out, I get this:

> bzr: ERROR: Branches have no common ancestor, and no merge base revision  
> was specified.

> This happens whether I provide a relative link to my bzr trunk checkout  
> or an svn:// URL to trunk on the svn server.

> Now, our branching scheme is a tad haphazard. Initially we started with  
> the generic trunk/branches/tags scheme, but this quickly became ugly as  
> the number of branches grew. So we started creating directories under  
> /branches for different branch categories, and created branches in there.

> So there is no actual 'scheme' that applies to the whole of the  
> repository's history.

> I was hoping for some scheme that would simple recognise 'all copies of  
> trunk (recursive)' as being branches, since that would work in our case  
> (and most others I'd imagine too).
That would kill performance as it would have to analyse history time
and again.

> Looking at scheme.py, I suppose I could use the 'list' scheme, but that  
> involves fiddling that I'm sure my colleagues won't be too happy about  
> having to do. I also can't find any details on how to use it: could  
> anyone provide any?
The "bzr svn-branching-scheme" command allows you to query and set the current
default branching scheme. Please note though that changing it will
change the revision ids used and will therefore break existing
conversions you have ("Diverged Branches").

I do have plans to get rid of the branching scheme stuff and just
follow branch copies but that's probably not going to happen until bzr-svn 0.5. 
See bug 130372 for details. 

Cheers,

Jelmer

-- 



More information about the bazaar mailing list