Fog Creek Software
Discussion Board




CVS vs. Subversion

Hi All,

I'll be setting up a new source control/Continuous Integration server this weekend. Does anyone have any opinions about the relative advantages or disadvantages of CVS or Subversion?

I've used CVS in the past and it always seemed to work fine, although I only had to do a few minor file rollbacks here and there. Subversion's directory support looks desireable, but I haven't seen anything speaking as to whether it is stable and useable at this time.

I should mention that this will be an XP PRO, maybe Win 2003 box.

Thanks for the help,

  --Josh

JWA
Thursday, September 18, 2003

If you are starting from scratch, I wouldn't see any reason not to go with subversion. It has been working reliably for me since I switched about half a year ago, no problems so far. And things like directory versioning or WebDAV access are really nice to have. The only advantage CVS has is that basically every Unix user already has the client installed, but unless you want to make public access to your repository really easy, why should you care?

On the other hand, if you already have CVS repositories that you'd have to convert to svn, you should think twice about whether you really need the nice new svn features. Migrating existing projects to a new version control system isn't fun.

I haven't used either on Windows, however, I would expect svn to behave even better then CVS. Portability has been an explicit goal from the start, not an hackish afterthought like for CVS.

motta
Friday, September 19, 2003

Is Subversion really ready for daily usage?  The "less than 1.0" version number concerns me.

anon
Friday, September 19, 2003

Can you not get Perforce?

Mr Jack
Friday, September 19, 2003

Keep in mind that the client/server protocol for Subversion is still subject to change.  If you upgrade to a future server version, you may be forced to upgrade all your clients and re-import your source code.

If you have a small team, it's probably not a big deal.

davehal
Friday, September 19, 2003

Yes.  They're both deeply lacking, if not fundamentally broken.

GNU arch is a much better alternative:

http://www.gnu.org/software/gnu-arch/

Robert
Friday, September 19, 2003

Just because software is released, doesn't mean it isn't subject to change. :) Between CVSNT 1.x and 2.x, they changed the way the SSPI protocol worked. We didn't realize it until we installed one of the newer versions of TortoiseCVS (which comes w/ CVSNT 2.x) and couldn't talk to our CVS server, which runs 1.x. It just hung waiting to do anything.

So now we have to back-fill to an older CVSNT when installing the newest Tortoise. Not a big deal once you figure out what's going on, but it was a couple days of head scratching.

Brad Wilson (dotnetguy.techieswithcats.com)
Friday, September 19, 2003

The Subversion source is controlled by a Subversion installation...  so if they start changing repository format or protocols they will also have also have to provide a conversion process otherwise they won't get much work done!

There's a benefit to having them eat their own dog food.

Almost Anonymous
Friday, September 19, 2003

Umm, isn't the client/server protocol for Subversion WebDAV/DeltaV? A protocol that they didn't define?

So, if WebDAV changes, a lot of other people will have to change their stuff too. I don't think there's much of a chance of that.

Unless I'm completely off my rocker, that it. ;-)

Chris Tavares
Friday, September 19, 2003

Subversion is basically (almost) a superset of CVS' functionality. It is stable and operates very well, and should run fine on Windows. I (and many other people) have worked with it for quite a while and I encountered few problems.

At the moment, Subversion is pre-1.0, which means it may have some minor quirks and performance problems. These probably should not affect an entirely good working experience.

So I'd recommend you go with Subversion. One thing good about Subversion is that you can always move or copy a file or directory, and so you don't worry too much about naming a file. It's just like a real filesystem, only versioned.

Shlomi Fish
Saturday, September 20, 2003

We have been using Subversion to manage a repository of about  250 KLOC for the last few months. We are about 15 developers, half running Linux and the other half running different versions of Windows. So far, Subversion has worked almost flawlessly for all of us.

cvs2svn managed to import out CVS-repository just fine, so we started at revision 14000 or so. Since then, we have been moving a lot of files and directories around (this was the reason we switched to Subversion in the first place).

I would highly recommend Subversion instead of CVS. The ability to move/rename files and direcories while keeping their history makes refactoring so much easier.

Fredrik
Sunday, September 21, 2003

*  Recent Topics

*  Fog Creek Home