Re: [RFC] Linux Kernel Subversion Howto

Stelian Pop
2005-02-03T22:18:45Z

On Thu, Feb 03, 2005 at 12:20:49PM -0800, Larry McVoy wrote:

> > As Peter said, once every 6 hours is fine. Or even more often, what
> > the heck, as I said in a previous post I don't think an incremental
> > export is that much costly. It could be done at the same time as
> > the -bkX patches...
>
> I'll see what I can do.

Thanks.

> > Speaking from the out-BK point of view, what would really be nice
> > is better granularity in the CVS export (a 1-1 changeset to CVS commit
> > mapping). I know this involves playing with CVS branches and could
> > be a bit tricky but should be doable.
>
> I have two problems with this request:

I really don't want to start a new BK flamewar. You asked what could
you do and I said what would be nice to have. End of story.

> - The idea that the granularity in CVS is unreasonable is pure

I didn't say it was unreasonable, I said it could be better.

> nonesense. Here's the data as of this email:
>
> CVS BitKeeper [*]
> Deltas 235,956 280,212

Indeed, for now the differences are rather small. But with more and
more BK trees and more merges between them the proportion will raise.

If Andrew were to start using BK today we could immediately lose
(on the CVS side) a big part of the history.

> - It is not at all an easy thing to do in CVS, we looked at it and
> guessed it is about 3 man months of work.

I may be stupid, but I did write several months ago a bitkeeper to
prcs conversion tool, and this followed BK branches. It's a 269 lines
python script including documentation. I can send you that if you like.

The script does basically:
for each bk changeset {
get cset parent, merge parent, tags, comment, date
prcs checkout -r bktoprcsbranch(cset) parent
for each bk changeset rename {
prcs rename
}
bk export changeset
if merge parent {
prcs merge with merge parent
}
if cset ends in .1 {
prcs create branch
}
prcs checkin bktoprcsbranch(cset)
if bk has tag {
prcs tag
}
}

with bktoprcsbranch(cset) returning the bk 'branch',
1 for the 'trunk' and x.y.z for a x.y.z.t revision.

It is a bit difficult to get it right wrt renames, deletes etc, and
it can take quite a while to execute, but 3 man month work is a bit
extreme.

> So let's see what's reasonable. In order for you to get the last 16%
> of the granularity, which you need because you want to compete with us,
> you'd like us to do another 3 man months of work. What would you say i> you
> were me in this situation?

I thought the competition was between the tools not the data inside...
Why is that every time someone wants the full history of the kernel
you think it wants to compete with you ? That history is not even a
secret, everybody can get it from BK/web or by running the free
edition of BK (if allowed).

Stelian.
--
Stelian Pop <stelian@popies.net>