Why was merge otpion disabled?

I'm using VS2005/VSS2005 in me copy-modify-merge & multiple-checkout environment.
Our projects are in the beginning stage and many developers frequently update sources.
This is what happened last week. To make it easy, Tom and Chris were the ones.
1. Tom got the latest version and disconnected his IDE from source control database.

2. Tom made changes to a file, for example, error.cs

3. In the mean time, Chris checked out error.cs, modified it and checked it in.

4. When it was time for Tom to apply his changes to source control, of course, he had to connect first.
5. When connecting, it prompted with options either to keep his local copy ("Protect these files against unwanted overwrites") or replace it with the one from source control.

6. Tom chose the first option for sure.

7. Then Tom tried to check out the file. Another prompt shown, with four options. For some reason, the last two options were disabled. Why?

- Check Out the database version, and keep your changes?
- Replace your local file with this version from SourceSafe?
- Check Out the local version, and keep the changes?
-Check Out the local version, and merge the database version with your changes?

8. Tom chose the first option because he didn’t want to lose his change, assuming VSS will prompt when checking in, if there’s any difference.
(In Subversion, Tom should merge at this point, otherwise, he can’t continue.)
9. What happened when Tom tried to check in?
No merge prompt for the difference and he simply replaced the server file with his local version. Chris found it later.
Why were the two options disabled?
How does the option [Check Out the local version, and merge the database version with your changes?] works? Will this merge locally?
Thanks for your help in advance.

[2703 byte] By [Kproject] at [2008-1-7]
# 1
You're right, there's no good reason to disable the "checkout local version" choices. This scenario should be fixed in more recent builds. Leave a comment here if you want to try it.
RichardBergMSFT at 2007-10-2 > top of Msdn Tech,Visual Studio,Visual Studio Source Control and SourceSafe...
# 2

Well, there may be a good reason why the options are disabled...

First of all, the database administrator may have disabled specifically the checkout local version feature (this is the default for databases created by VSS6). If you want to enable CheckoutLocalVersion, use VSS Administrator tool, in Tools/Options/General page and make sure the "Only allow checkouts of the latest version" is NOT checked.

Make sure to restart VisualStudio or at least close&reopen the solution in VS after closing VSSAdmin to make VS re-read the database changes.

Another reason why the last 2 options in the dialog are disabled could be a missing vssver2.scc file on local disk. This file contains the local version numbers, in its absence VSS can't know which local version to check out/merge. I know VSS users sometimes delete the vssver.scc or vssver2.scc files from their disk (I used to do this, too 10 years ago :-() because they think the files "clutter" their HDD and have no idea of the implications of their action. If you used to delete those files, stop doing this!

Alin

AlinConstantin-MSFT at 2007-10-2 > top of Msdn Tech,Visual Studio,Visual Studio Source Control and SourceSafe...

Visual Studio

Site Classified