[IPython-dev] [IPython-user] Porting SVN history to Launchpad - help needed.

Fernando Perez fperez.net at gmail.com
Sun Jun 1 03:10:01 EDT 2008

On Sat, May 31, 2008 at 11:45 PM, David Cournapeau
<david at ar.media.kyoto-u.ac.jp> wrote:
> Fernando Perez wrote:
>>> The problem with bzr is that it slows down with long history, so not
>>> having it around in our work copies is a net win. As a fun excercise,
>>> we might create an ipython repo with full history at some point - but
>>> it certainly doesn't yield tangible benefits right now.
> (sorry for the doublon, I always forget reply to all...)
> Every DVCS slows down with long history, but really, if bzr is too slow,
> then don't use it: using a DVCS will mean more history than with subversion.
> Limiting yourself to less history because of bzr slowness sounds really
> wrong to me: you lose the whole point.

Yup, I forgot to say exactly that.

> Now, I really cannot see how this would be the case for ipython: bzr is
> slower than hg, and much slower than git, but ipython is a small project
> (not that I want to diminish anybody's work, of course). Hopefully, bzr (or
> our computer) will scale better when ipython will be as big as the linux
> kernel :)

No offense, I think pretty much the same: if bzr can't deal with a
project of this size, it's useless.  And I know that MUCH larger
projects use it, so I'm sure this won't be the problem.

> More seriously, I will take a look at this myself. Fernando, are you only
> interested in the trunk history ?

Yup.   As I said above, you can do:

bzr branch lp:~vcs-imports/ipython/main/ launchpad-svn-1
bzr branch lp:ipython  ipython-main-2

Now the problem is how to produce a valid bzr branch that basically
concatenates in time -1 and -2, in that order.  bzr graft
(http://spacepants.org/src/bzrgraft/) was meant exactly for that
purpose, but it indeed doesn't work at all with today's bzr as the
developer warned (I already tried).

If you can find some combination of bzr merge/bundle/rebase that would
do the trick, let me know.  I've already written a little python
script that can generate the individual changes and log messages as
bundles/logfile pairs, but they still don't apply because the target
is missing the required base revision.

It kind of annoys me that one apparently can't force a bundle to apply
(it's just a diff, after all!). There must be a way to do this...



More information about the IPython-dev mailing list