bzr-svn branching schemes
Russ Brown
pickscrape at gmail.com
Fri Apr 11 14:21:08 BST 2008
Jelmer Vernooij wrote:
> 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.
>
Wouldn't it only have to do that when first downloading a revision that
is at root a directory copy? But then I suppose at that point we're
talking about the branch following you describe below.
>> 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.
>
That's fantastic, and sounds like it will cover our situation completely.
Do you have any ballpark rough estimate as to when 0.5 might land? No
rush, just want to be able to plan ahead a bit.
Thanks again!
> Cheers,
>
> Jelmer
>
More information about the bazaar
mailing list