CVS -> HG convert - large repos....

Peter Toft pto at linuxbog.dk
Tue Jan 4 08:58:12 CST 2011


Hi All

I have been experimenting quite a bit converting CVS repositories to 
Mercurial.
With "minor/young" CVS repositories I find that "hg convert 
CVS_sandbox HG_sandbox"
does the job well. Quite fast and painless.

However for a big old CVS repository with ~2000 files - all in all ~90 
MB. I have approx
30000 commits over the time, then the pain starts to kick in :)

I find that "hg convert" spins fine in the start, but seems to go 
exponentially down in speed
over the time. I have after 24 hours still 12000 commits left for 
processing and only a few
commits are processed every hour just now. I see the CVS subprocess 
running 100% on one CPU.
Anyone seen that "getting reaaaaaaaaly slow"-behavour before?

I have been around http://mercurial.selenic.com/wiki and other places 
for documentation -
as well as http://hgbook.red-bean.com/read/migrating-to-mercurial.html 
+
http://mercurial.selenic.com/wiki/FAQ
I have then also been looking into cvs2hg (from cvs2svn), tailor, and 
cvs20hg - but it seems
that they are aging. They do not seem to be easy ways forward with a 
modern Linux-distribution
e.g. Ubuntu 10.10.

Anyone else with experiences with BIG cvs repos?
It is smarter to convert CVS->SVN->HG as some have proposed?

Best

--
Peter Toft <pto at linuxbog.dk> http://petertoft.dk



More information about the Mercurial mailing list