Published Sep 27, 2006

I discovered CVS at the very beginning of this century, when I was doing Web dev. Getting past revisions? Diff? Little notes on what changes I’d made? Life-saver. Even after leaving the industry, I kept much of my work in CVS, because revisions and branching are useful even for binary file formats, such as Word .docs or Photoshop .psds.

But I’ve been fooling with Ruby on Rails and it seems like all the cool kids are using Subversion these days. I’m probably going to have to grab myself a good SVN client anyway; should I just switch to Subversion for all my version control needs? I currently use TortoiseCVS to make my CVS live easy, and it looks like TortoiseSVN is similarly easy-to-use.

What does switching to SVN get me? Is it really that much easier? Can I easily migrate my CVS repositories to SVN and keep all of my past revisions? What have people’s experiences been with the two technologies?

I know this is a pretty obtuse entry but I’m also pretty sure that there’s at least two regular readers who can answer all these questions.

1 Comment

I actually just recently switched from CVS to SVN. Switching is easy. There’s a tool called cvs2svn, I think, which will do the conversion and keep all the log information.

SVN has some neat features, and you may enjoy its handling of binary files, since you say you store those under source control currently.

Also, commits are atomic, which means that rolling back changes to a non-broken revision is simpler. Not sure how useful that is for your purposes, but for a build environment, it can be very handy.

For a few weeks after you switch, you will want to type ‘cvs’ instead of ‘svn’ if you’re using the command line client. So it’s good to disable cvs as soon as you switch too. :)