CalmYourself:
I am actually not a supporter of subversion. With SVN you typically work offline not online (as with source safe). If two people edit the same file SVN merges the changes into a single file. I am told its actually really good at merging. With C code it just works (unless two people change the exact same line of code).
I just don't think it works well with .NET. If I change a base class or interface, I need my team to have the latest version ASAP. SVN was built for C/C++ developers where its a really bad idea to check in code unless it's 100%. .NET is a lot more forgiving about code errors than C is (think exceptions, etc...). With C coders, it can be a week between checkins, obviously you cannot "lock" a file for a week (as per Source Safe).
I know SVN can do a "lock" on a file. But the popular AnkSVN Visual Studio addin doesn't seem to support that workflow by default. I can't even find a config option to support automatic locking of files. I know there is an addin that emulates the source safe work flow and locks files when you edit them, but it crashed really badly when I tried it in VS 2008. And yes, there are non-free VS addins that could do that.
I just think its a bit backward, when C# and VS were designed to allow for far more rapid re-engineering of code than possible with C, yet people don't want to do a rapid checkin workflow. Perhaps I need to work on a bigger C# team (10+ people), maybe then I would reconsider my stance.
Cheers
Paul