KnowledgeBase Archive

An Archive of Early Microsoft KnowledgeBase Articles

View on GitHub

Q188905: FIX: Sharing a File from Command Line Causes Corruption

Article: Q188905
Product(s): Microsoft SourceSafe
Version(s): WINDOWS:5.0
Operating System(s): 
Keyword(s): kbSSafe500bug kbSSafe600fix kbAnalyze kbSSafeAnalyze
Last Modified: 31-JUL-2001

-------------------------------------------------------------------------------
The information in this article applies to:

- Microsoft Visual SourceSafe for Windows, version 5.0 
-------------------------------------------------------------------------------

SYMPTOMS
========

After running Analyze.exe with the -f switch, you may find the following message
in the Analyze.log file:

  The project <Project Name> contains a child that does not recognize
  this project as a parent. The child will be added to the project.

CAUSE
=====

A file is shared to a project that contains a shared and deleted copy of the
same file.

RESOLUTION
==========

Avoid sharing a file from the command line when the file contains a deleted link
to the target project. If you want to share the file, either recover the file or
purge the shared file and share it again.



STATUS
======

Microsoft has confirmed this to be a problem in the Microsoft products listed at
the beginning of this article. This problem has been corrected in Visual
SourceSafe 6.0.

MORE INFORMATION
================

Assume that you have a file named $/Proj1/File1 and a project named $/Proj2.
File1 is shared from Proj1 to Proj2, then deleted (not destroyed) from Proj2. If
you try to share the file again from the SourceSafe explorer, the following
error occurs:

  A deleted link to File1.txt already exists ...

Sharing the file from the command does not create an error, but Analyze displays
the following error:

  The project Proj2 contains a child that does not recognize this project as a
  parent. The child will be added to the project.


Steps to Reproduce Behavior
---------------------------

1. Create two projects and name them $/Proj1 and $/Proj2.

2. Add a file named File1.txt to $/Proj1 .

3. Right-click project Proj2 and then from the Context menu, choose Share.

4. In the Share dialog box, select the file File1 under $/Proj1.

5. Click Share, and then click OK.

6. Delete the file, File1.txt from $/Proj2.

7. Repeat steps 3-5.

8. The following error message appears:

  A deleted link to File1.txt already exists.

9. From the command prompt, run the following commands:

  ss cp $/proj2
  ss share $/proj1/File1.txt

  The files share and no error occurs.

Additional query words:

======================================================================
Keywords          : kbSSafe500bug kbSSafe600fix kbAnalyze kbSSafeAnalyze 
Technology        : kbSSafeSearch kbAudDeveloper kbSSafe500
Version           : WINDOWS:5.0
Issue type        : kbbug
Solution Type     : kbfix

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

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.

Copyright Microsoft Corporation 1986-2002.