[SciPy-dev] The future of SciPy and its development infrastructure

Robin robince at gmail.com
Mon Feb 23 18:38:55 EST 2009


On Mon, Feb 23, 2009 at 10:59 PM, Andrew Straw <strawman at astraw.com> wrote:
>>> True enough, I'm not arguing for changing the main repository, just pointing
>>> out what I miss when making branches locally with git-svn.
>>>
>>
>> Watching this discussion with interest... Although git seems to have
>> more momentum here, I though I would point out bzr-svn, which I think
>> allows distributed collaboration around a central svn-hosted branch
>> without the problems people have mentioned with git-svn. By storing
>> the bzr metadata in svn properties, a full bazaar branch can be hosted
>> in svn, so people can branch off it, merge with each other, merge back
>> etc.
>>
>> In my experience it's worked very well for giving the distributed
>> benefits of branching from a centralised svn repo.
>
> Robin, can you point us to a public svn repo where non-trivial branching
> is happening with bzr? I had lots of trouble trying to get anything
> working in my attempts.

Hi,

I'm not sure what qualifies as non-trivial branching (DVCS people say
all branching should be trivial!). I have only used it on my private
repo myself, but I haven't had any problems. Asking on IRC, a good
example is GNOME. Here are the developer branches created using
bzr-svn
http://bzr-playground.gnome.org/ - although it looks like they aren't
pushing directly back to svn (but going through patches).

This is the best I could find documentating a workflow for using bzr with svn:
http://www.serverzen.net/starting-with-bazaar-bzr-svn

But I think to avoid problems with merging the trick is to have a bzr
checkout from svn as your sort of trunk branch, which you can then
branch with bzr to create feature branches. Upstream branches can be
pulled to the trunk branch, then merged to your feature branches, and
when you want to push stuff back you merge it into your trunk checkout
(which also commits it to svn). There are options to either push each
individual commit as an svn commit, or just have a single merge commit
in svn (the metadata for the bzr commits are there so they can be seen
by other bzr users). Because all the metadata is in svn, you should be
able to merge with anyone else who has their branch based on a svn
checkout...

Again not 100% on all this, but I believe that's how it works. When I
looked the DVCS I settled on this since I wanted to work with my
existing svn repo and it seemed to be the best dvcs subversion
interface.

Cheers

Robin



More information about the SciPy-Dev mailing list