Sunday, January 23, 2005

Friends Don't Let Friends Use VSS

Andy (of the Pragramatic Programmers) writes in his blog today that he has heard that Microsoft's VSS is "Unsafe at Any Speed", based on other developer's experiences. Let me add some first person experience that validates this.

We used VSS for quite a while at DSW (for no good reasons). And, we have many clients who use it because it seems to be free (you get it with the big Microsoft box with an MSDN subscription). Thus, we have lots of experience with it. And it is absymal. The archives reliably spontaneously corrupt themselves when they reach about 2 Gb. When this happens, you always lose some data (of varying amounts). That's part of the entertainment of using VSS: "Gee, the repository is corrupt again -- I wonder what has entropied into the universe at large this time?"

My advice if you are using VSS or thinking about using it is
  1. don't use it
  2. really don't use it
  3. keep your repositories below 2 Gb
  4. didn't I tell you not to use it?
In our experience, if you want a really elaborate version control package that allows you to define rules, set up workflows, do bug tracking, and generally have a pretty extensive process around version control, use StarTeam.

If you want a straigthforward, easy to use (once you understand its metaphors), solid, stable, genuinely free version control system, use Subversion. We have been using it for most projects for several months now and couldn't be happier. In fact, I recently set up a repository at home, tunneled through my router, so I can get to my personal repository anywhere. I couldn't be happier with it. The Pragmatic Programmer's series is coming out with a best practices book on Subversion which should be the last piece of the puzzle for everyone to start using it. It Just Works.

1 comment:

reggolb said...

Use git.