Checking it out

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:
Error message from Visual Studio saying 'Checked out by another user, continue?'
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:
Cannot check out. It is binary and is already checked out. © Microsoft
Followed swiftly by:
An error or user cancellation occured during checkout. Some files may not have been checked out. File was not checked out. © Microsoft
So much for multiple checkout, hey?

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.