Moving from CVS to Subversion on Mac OS X
I finally moved my small CVS repository to Subversion this weekend. Using CVS has largely been an act of faith, Subversion promises to be slightly easier to use and understand.
I installed Subversion using the official Subversion installer package. The repository was created with the FSFS format. Easy so far.
These Migrating from CVS to Subversion instructions are largely a walkthrough of installing Fink, then using Fink to install Subversion and cvs2svn. Having used Fink in the past, I wanted to install everything without it. I’m not especially comfortable with how much Fink does for me, and have found it adds some difficulty when transitioning systems.
Much better CVS to Subversion instructions are provided by Marc Liyanage, had I seen his walkthrough sooner I would have been done hours earlier.
Most of those hours were swallowed up naively trying to get the cvs2svn script working. Thinking it would be easy to work around the default Mac OS X Python installation DBM Module problem, I followed these instructions to install the most recent Python. Each step was written out clearly and worked as described.
That just about all worked, except the cvs2svn script was still showing the DBM error. Apparently, Mac OS X doesn’t include a BerkeleyDB installation. So, following Marc Liyanage’s lead, I installed Berkeley DB and the bsddb3 package, though not nearly that efficiently. As mentioned in the sial.org tutorial link above, I also modified the first line of the cvs2svn to point to my new Python installation: #!/usr/local/bin/python
Finally, when all of that was done, my CVS repository was seamlessly imported into Subversion in under a minute. Give or take three hours.
This whole convoluted installation brings up one of the messy things about Unix that I still don’t know enough to be comfortable with. I now have two versions of Python installed. Why? BerkeleyDB is also installed, and will probably never be used again. How much disk space did I just lose? Can I just delete this stuff? Or would that cause something else to break in the future? Maybe it’s just negative conditioning from screwing with Windows myriad co-dependencies, but managing under the hood stuff in Mac/Unix scares me.

I stumbled upon exactly the same problem recently. It’s fairly easy to get cvs2svn running without a complete python reinstall:
http://blog.plasticsfuture.org/2006/03/04/install-cvs2svn-on-mac-os-x-1042/
Thanks for the article. Wish I had found it a couple hours ago. :P It all sounds too familiar…