How to use bzr-svn with SourceForge

blog entry posted by lalo (Lalo Martins) on 2009-02-17 17:58:00

Tags:

Some projects I work with haven't yet abandoned Subversion. I try to tolerate it as much as I can, but sometimes (if I need local commits, or if there is heavy merging involved) it just won't do. Thankfully, I have bzr-svn to make my life less miserable.

The thing is, though; how to do the initial branching (“checkout” for those still stuck in svn terminology)? Because bzr-svn tries too hard at being atomic, and we all know SourceForge's Subversion server is made of purest fail. If the server decides to disconnect you in the middle of the operation, you lose all the (potentially hours of) work until that point.

After much frustration, I figured out the way to go with that.

First, branch from revision 0: bzr branch -r 0 https://crossfire.svn.sourceforge.net/svnroot/crossfire/server/trunk server-svn-trunk. Now you have a local branch that is already usable (well, usable as a branch, there will obviously be nothing in the working tree). Here lies the greatest trick, because while getting revision 0 doesn't actually pull any revisions, it makes bzr-svn do most of its hard mapping work.

Then get inside the branch, and pull the revisions in batches of (in my experience) no more than 500: bzr pull -r 500 && bzr pull -r 1000 && bzr pull -r 1500 etc. If something fails, you don't have much left to recover from.

You may be asking, if it's that painful, why do I bother? Simple: because it's only painful in the initial branching. After it's all up and running, it will be a lot less messy than dealing with svn, especially if I have non-trivial merging to perform. (Which, in this case, I do.)

Converting the universe into weaves

blog entry posted by lalo (Lalo Martins) on 2005-09-22 16:12:00

Tags:

Life is beautiful. My vacation is one day and two hours away. Wife is little over twice as much. The bzr weave branch is (according to Martin) ready for testing - which is double-sweet because now John can work on getting transports to work on this branch too, which will probably get transports finally merged.

So it's time to start converting copies of all these branches I have here to weaves. But it's also time to experiment with a weave-smart web interface (since bzrweb seems to be orphan), and even possibly ressurect suq.

That's surely a refreshing change from two days of mucking with eclipse and trying to reverse-engineer this monstrous java application that has 140+ tables :-D

Anyone knows a good tool to generate UML from tables in Postgres? One that actually works... autodia gives me about three screens of errors, and it's in perl, so I'm not willing to try to fix it... (Just asking, because after the vacation I'll certainly still have to deal with this)

And I made a promise about writing tests for bzr... time to start delivering them :-P

(Yes, this is a relatively uninteresting post. Sue me. I'm bored.)

((oh, and I bought a lot of raisins, for the blog template. Watch out for them. This weekend I'm actually going to have a template.))