Subversion/CVS experiment summary

Stijn Hoop stijn at win.tue.nl
Mon Feb 9 11:02:56 PST 2004


On Mon, Feb 09, 2004 at 07:49:55PM +0100, Dag-Erling Sm?rgrav wrote:
> Stijn Hoop <stijn at win.tue.nl> writes:
> > I also tried refinecvs (formerly cvs2svn.pl), found at
> >
> > http://lev.serebryakov.spb.ru/refinecvs/
> >
> > 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...
> 
> Unfortunately there's no good way to avoid this.  CVS discards a lot
> of information about each commit, and in order to reconstruct that
> information you have to view the repo as a whole.
> 
> That's not really a problem though, since this is a one-time
> operation.  If / when we decide to switch to SVN, we can easily find a
> machine with enough RAM to do the job.

Very true, but...

First of all it would make these kind of tests easier if the script
implemented it's own sort of cache function. Then I could try and see the
feasibility of converting to Subversion by myself, just like the OP has done.
I tried reading the source to see if this is "easily" implemented, but it's
still way beyond my meagre perl skills.

Second, even after you get the initial conversion done, I think there is a
need for resyncing the SVN repository with the CVS repository -- with a state
dump from refinecvs this would be relatively easy (only examine the deltas
since last time), but this sort of behaviour is impossible with the current
script. It would also be useful to implement a bi-directional gateway between
SVN and CVS repositories, analogous to the idea someone from the arch project
had. See point 3 at

http://wiki.gnuarch.org/moin.cgi/Arch_20and_20CVS_20in_20the_20same_20tree

(and of course substitute Subversion for arch).

That said, as with my comments on Subversion, I was actually pleasantly
surprised with my findings about all the tools involved, and the above is
certainly only meant as constructive criticism. I think Lev is actually using
the FreeBSD repository for testing his script, isn't he?

--Stijn

-- 
Tact, n.:
	The unsaid part of what you're thinking.
-------------- 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/d59bc9de/attachment.bin


More information about the freebsd-hackers mailing list