First off, don’t think I’m using VSS2005 for Basternae because I’m not – I’m using Subversion. However, I am using it at work. If I had a choice what source control application we used I’d be using Subversion there too.Over the years there have been many deeply flawed software applications. Luckily market Darwinism has weeded out most of the unbearably bad programs. If nobody wants to use an application, it fails to sell and ends up perishing.
The problem is that Visual SourceSafe 2005 seems to be immune to this force. That might be primarily due to the fact that each release has about fifteen minutes worth of code updates added to the previous release.
Here are some of the problems with VSS:
1. Unbearably slow. I’m on a gigabit network and have a very fast server and it still takes ten minutes to check for code updates.
2. The interface is completely counterintuitive. It’s as if the design team studied up on good design principles, high-quality user interfaces, and even performed user testing studies just so they could do the exact opposite of what would make using their software a pleasant experience.
3. Don’t try to fork or branch your code. You’ll never understand it and you’ll completely screw it up, no matter how many times you have done it before.
4. When your code differs from that on the server, you get a dialog box asking you whether you’d like to keep your changes or replace them with the code in the repository. Nevermind that they managed to word the dialog in such a way that it’s hard to tell what you’re actually doing — the “Apply to all items” checkbox does absolutely nothing.
5. VSS is far too opaque. Unlike Subversion, which tells you exactly what it’s going to do before it does it so you can make changes or cancel, SourceSafe will just do whatever it wants, whenever it wants, without your permission. It’s incredibly easy to screw up a directory structure, check out things you had no intention of checking out, or perform all sorts of spooky voodoo that you never even gave the app permission to do.
6. It’s so terrible even Microsoft won’t use it.
7. It doesn’t encourage you to leave comments when you check in code. In fact, the comment window is disabled by default in Visual Studio 2005.
8. It’s hard to figure out who broke something when you want to revert, mainly via a combination of #7 and #2.
9. It slows down Visual Studio and sometimes even causes it to crash. VS.NET is already a resource hog, so adding an unstable plugin isn’t the best idea.
10. Don’t ever try to work offline/disconnected. VSS will screw everything up in very creative ways. For instance, I modified a single line of code in a single file while offline and it somehow managed to check out 500 code files when I reconnected. None of these files had been modified.
I’m not the only one who hates VSS. For further reading:
http://www.codinghorror.com/blog/archives/000660.html
http://www.codinghorror.com/blog/archives/000079.html
http://www.highprogrammer.com/alan/windev/sourcesafe.html
http://www.developsense.com/testing/VSSDefects.html
Completely agreed. I am happy that someone thinks the way I do.
While I was working on the project VS2008 crashed and I could not connect to the source safe server. Therefore, I had to work in offline mode. Now, I can’t connect to the source safe because it is going to replace the files with the ones in server and everything that I have done so far will be deleted.
Everything that Microsoft does makes me crazy.
Yes, it drives me batty. I developed the habit of copying everything that I changed to another directory before I reconnect so that even if my changes do get wiped out, I still have a copy of them that I can merge/paste. I wouldn’t say everything MS does makes me crazy, but everything they make a half-assed attempt at (VSS) sure does.
I recommend you try Dynamsoft SourceAnywhere, which is a SQL-based source control solution designed as a replacement of SourceSafe. It’s faster and more stable than VSS.
http://www.dynamsoft.com/Products/version-control-source-control-sourceanywhere.aspx
Dude, some of the points are simply not true. You can leave comments when checking code in, and it can work very fast over a LAN, perhaps it’s your network that’s slowing it down. Perhaps you don’t like the user interface or you don’t understand it, but for me it does the job and works fine. I don’t branch so don’t have that issue.