Subversion/CVS experiment summary
Stijn Hoop
stijn at win.tue.nl
Mon Feb 9 13:05:53 PST 2004
On Mon, Feb 09, 2004 at 01:26:45PM -0600, Craig Boston wrote:
> On Monday 09 February 2004 11:53 am, Stijn Hoop wrote:
> > Did you have to modify the script, or pass unusual options? I'd like to
> > reproduce this, but I didn't get very far when I tried a few days ago with
> > the 0.37.0 version of the tool.
>
> No, I used the script as-is. The version I have is
> LastChangedRevision: 8527, with a date of Jan. 29. It looks like that
> version is slightly newer than the one included with 0.37 (Rev 8512).
Well, that explains a lot -- for some reason I tested using
$LastChangedRevision: 7921 $. I'll try with an up-to-date one then.
> One thing that may have made a difference is that so far I've been importing
> things in chunks rather than trying to do the whole repo at once.
Yes, I was afraid though that commits might have spanned subtrees. But then
again, even if they did they would just get committed as separate revisions
to the tree, and I suppose one could live with that.
> > but although it looks like it handles things much better (even vendor
> > branches etc), it loads EVERYTHING into memory -- which means that it
> > eventually grew to 1G of memory/swap at which point my memory was
> > exhausted, and this was at pass 2 of 7...
>
> Does the Python version do the same thing? I didn't think to look at memory
> usage very closely while it was running :-/
As far as I understood it builds a disk cache instead of using malloc().
This might explain the slowness :)
> > My thoughts were now going to do something like Tom Lord proposed for an
> > Arch gateway -- just import a CVS working copy into SVN at a certain
> > cut-off date, and setup a bi-directional gateway between the two.
>
> If I'm reading that right, it sounds similar to a thought I had about just
> routinely checking out snapshots and committing them on a vendor branch.
> Of course you'd have to do that separately for each branch you're interested
> in.
Yes, that's the idea. You 'just' need a tool that can determine changesets
from a CVS repository to automate this. See
http://wiki.gnuarch.org/moin.cgi/Arch_20and_20CVS_20in_20the_20same_20tree
but substitute Subversion for arch :)
> IMO, I find it immensely useful to have the entire history of a file at hand.
But you do have all history of a file at hand; you just need to have a
separate version system for the older history. Which is admittedly a bit
unwieldy, but it certainly makes for a smooth transition in the distributed
repository case...
> > Actually, would a sort of access control wrapper that is now also used with
> > the FreeBSD CVS repository not work? I do agree that it would be nice to
> > have per-directory access control with the svnserve method.
>
> Yes, I think the same sort of access hooks (pre-commit?) can be used. The
> Subversion manual even mentions that, I just forgot about it...
>
> That method has always seemed a little... hackish to me.
It is, but it does work. Maybe I'll test and see if I can 'port' those
scripts to Subversion :)
--Stijn
--
My server has more fans than Britney.
-- Steve Warwick, from a posting at questions at freebsd.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-hackers/attachments/20040209/00b79a00/attachment.bin
More information about the freebsd-hackers
mailing list