BUG: Recalculate Links Increments InterDev Files Under Source Co

Last reviewed: February 9, 1998
Article ID: Q177894
The information in this article applies to:
  • Microsoft Visual Studio 97
  • Microsoft Visual InterDev, version 1.0
  • Microsoft Visual SourceSafe, 32-bit, for Windows, versions 4.0, 5.0

SYMPTOMS

Some Microsoft Visual InterDev files in a project that have been placed under source control may show increments to their version number when no changes have actually taken place. This occurs when recalculate links is run, or if the file is checked out and back in, although no changes are made to the file. The comment below is added in SourceSafe:

   Page changed because one of its dependencies changed.

CAUSE

The cause is a bug in Visual SourceSafe version 5.0. Visual SourceSafe increments a file's version every time a file containing Visual SourceSafe keywords is checked in. This behavior occurs even though the SourceSafe option for "Check in Unchanged Files" is set to "Undo Check out".

RESOLUTION

There is currently no workaround from Visual InterDev that allows the use of keywords and prevents the version from being incremented.

STATUS

Microsoft has confirmed this to be a bug in Microsoft Visual SourceSafe version 5.0. We are researching this bug and will post new information here in the Microsoft Knowledge Base as it becomes available.

MORE INFORMATION

The Recalculate Links command causes the incrementing behavior to occur because it checks out and checks in each file in the Web project. This can dramatically increase the number of erroneous versions of a file.

The following keywords incorrectly increment a file's version number every time the file is checked out:

   $Log: $
   $Revision: $
   $History: $
   $Header: $
   $Date: $

Other keywords, such as $Author: $ increments only the version when the information they reference is changed. Other keywords include:

   $Archive: $
   $Author: $
   $Header: $
   $Logfile: $
   $Modtime: $
   $Workfile: $
   $NoKeywords: $

Steps to Reproduce Behavior

  1. In the SourceSafe Admin tool, set "Expand keywords in files of type:" to "*.asp".

  2. In a Visual InterDev project, create a new .asp file, and add the following text:

          $Revision: $   Visual SourceSafe version number
    
       NOTE: Any one of the keywords mentioned above causes this behavior.
    
    

  3. Select 'Enable Web Source Control' from the Project menu.

  4. In Visual SourceSafe Explorer, in the Options dialog box from the Tools menu, ensure that 'Check in Unchanged Files' is set to 'Undo Check out.'

  5. In Visual InterDev, right-click the Project name and select Recalculate Links.

  6. In Visual SourceSafe Explorer select Show History of the file. Note that the file is modified and a new version is created even though the option is set to Undo the checkout.

REFERENCES

For additional information please see the following article in the Microsoft Knowledge Base:

   ARTICLE-ID: Q168247
   TITLE     : BUG: Keywords Cause New Version When "Undo Check Out" Set

Keywords          : ssidev
Version           : WINDOWS:1.0,4.0,5.0,97
Platform          : WINDOWS
Issue type        : kbbug
Solution Type     : kbnofix


================================================================================


THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Last reviewed: February 9, 1998
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.