Mark Levison

Musings on No Touch Deployment, .NET development and photography

<November 2008>
SuMoTuWeThFrSa
2627282930311
2345678
9101112131415
16171819202122
23242526272829
30123456


Navigation

Other

Blogroll

Subscriptions

Post Categories



SourceSafe Integration with .NET is evil

Using SourceSafe with VS .NET integration in a mulit-user environment is fraught with peril. Here are some of the problems we've encountered

  1. You're not in control of what gets checked into or out of SourceSafe.
    1. Checkout a dialog, both the source and resx files are checked out even if you only intended to modify the source.
    2. You can't add things that aren't part of solution (Documentation, NAnt/MSBuild files)
  2. Deleted files sometimes reappear in VSS. Let's say you delete a file from a project and checkin. The file gets deleted from VSS. However if someone else who already had the same project checked out, checks in then VSS and VS.NET assume that the file had been created (by the other developer) and check it in. So now the file is back.
  3. The file locking problem. Sometimes (once every couple of weeks?), VSS (running on XP) will lock up (for about 10-15 minutes) trying to access a file in the "database". If you're running the VSS client - this is no problem, just start another instance. However if you're in VS.NET then your hosed. You have to wait until the problem times out.

So use SourceSafe integration with VS .NET at your own risk.

Update: In the comments section JosephConroy wonders about VSS being built on the JET database.  Actually it doesn't seem to be.  It's built on a strange hybrid of the file system and its proprietary database (it has lots of folders (a -> z), each containing some binary files).  However the worst part is the database access code is built right into the client software.  So your copy of VSS manipulates the files directly - instead of the safer approach like SourceVault or Subversion and using a server.  Yeeecccchhhhhh.  BTW as we all rant about VSS this is an old product developed in the early (??) '90s by Brian Harry and co.  In it's day it was innovative.  Now its just long in the tooth. 

Request to MS please just go and buy Eric Sink's company (SourceVault) and use it to replace VSS on our MSDN subscriptions.

Sacha points to Team Development with Visual Studio .NET and Visual SourceSafe  - which at least explains things.  However if I forced to go use the VSS Client for deletes and renames, why don't I use it for everything?

posted on Monday, May 10, 2004 9:35 AM by mlevison





Powered by Dot Net Junkies, by Telligent Systems