I have a feeling that a lot of small to medium development operations will still be using Microsoft‘s Visual SourceSafe to manage their central code-base despite its limitations.
Given that Microsoft have since addressed this hole in their development offerings with the excellent Team Foundation Server which offers a seamless experience within Visual Studio 2005 and a raft of source control features woefully missing from Sourcesafe.
Not wanting to turn this into too much of a rant about SourceSafe, today’s observation concerns SourceSafe’s supposed ‘Multiple Checkout’ feature when used with Visual Studio 2005.
When checking out a file that someone else has already checked out, normally you’ll get the following handy error:
This is fine and you can continue by selecting Yes and all is well.
There are times where I want to change around the Project’s References to point them to another project in the same solution instead of a precompiled DLL when I want to be able to step through code provided from another project.
If someone has the project definition file (.csproj) checked out, then we run into a problem with Visual Studio vs SourceSafe. They may have the file checked out because they’ve been changing references over, or maybe adding some new content to the project.
If I attempt to change the references when someone else has the file checked out, multiple checkouts mean nothing. You get this handy little error:
Followed swiftly by:
So much for multiple checkout, hey?