How To Issue a Recursive GET Based on a Project Label

Last reviewed: January 15, 1997
Article ID: Q162114
The information in this article applies to:
  • Microsoft SourceSafe for Windows, versions 3.04, 3.1
  • Microsoft Visual SourceSafe, 16-bit and 32-bit, for Windows, versions 4.0, 4.0a
  • Microsoft Visual SourceSafe, 32-bit, for Windows, versions 4.0, 4.0a, 5.0

SUMMARY

There are three methods in Visual SourceSafe that you can use to "Get" files based on a project-level label. This article discusses each of these methods and describes their respective results.

MORE INFORMATION

Of the three methods mentioned above, one uses the Visual SourceSafe Explorer and the other two use the command line.

Using the Command Line

The two command line methods are:

   SS GET $/<path to project>/*.* -r -gf -vl<label>

   -or-

   SS GET $/<path to project> -r -gf -vl<label>

Where <path to project> is the Visual SourceSafe path to the desired project and <label> is the project label against which the Get is executed. The -gf switch tells Visual SourceSafe to Get the files into their working directory, not the current DOS directory.

The results of these two examples are quite different. The command in the first example yields all files and subprojects in <path to project> that are currently in the project. The files are returned in the state at which the label was applied. This means that any file or subproject that was deleted (and not permanently destroyed) after the label was applied will not be returned.

The command in the second example returns all files and subprojects in <path to project> that were in the project at the time the label was applied, except for those files that were deleted or permanently destroyed.

The following procedure illustrates this difference:

  1. Open or switch to Visual SourceSafe, and create a project called Vssrocks off of the root($/).

  2. Create a subproject of Vssrocks called Vssrules.

  3. Add two files, one to Vssrocks and the other to Vssrules.

  4. Apply a project-level label called Label1 to Vssrocks. Note that this level is inherited by Vssrules.

  5. Set the working directory of Vssrocks to C:\Vssrocks (create this directory if it does not already exist).

  6. Delete, but do not destroy, the project Vssrules, and then close the Visual SourceSafe Explorer.

  7. Open a DOS window and set your path to include \Vss\Win32.

  8. Type the following command in the DOS window:

    SS GET $/VSSROCKS/*.* -r -vlLABEL1

    Note that only the file added to Vssrocks is returned.

  9. Type the following command in the DOS window:

    SS GET $/VSSROCKS -r -vlLABEL1

    The error message "File or project not found" appears, but the contents of both Vssrocks and Vssrules are returned.

Using the Visual SourceSafe Explorer

The following procedure describes how to use a recursive Get on a label to return all files and subprojects in a project that were in the project at the time the label was applied, except for those projects that have been deleted or permanently destroyed.

  1. Open or switch to Visual SourceSafe and create a project called Vssrocks off of the root($/).

  2. Create a subproject of Vssrocks called Vssrules.

  3. Add two files, one to Vssrocks and the other to Vssrules.

  4. Apply a project-level label called Label1 to Vssrocks. Note that this level is inherited by Vssrules.

  5. Set the working directory of Vssrocks to C:\Vssrocks (create this directory if it does not already exist).

  6. Delete, but do not destroy, the project Vssrules.

  7. Right-click the Project Vssrocks and click Show History.

  8. Select the version that the label was applied to and click Get.

  9. Select the Recursive check box and click OK (do not select the Build Tree check box). Note that the contents of both Vssrocks and Vssrules are returned.

REFERENCES

For additional information on project and file labels please see the following article in the Microsoft Knowledge Base:

   ARTICLE-ID:Q139298
   TITLE     :How to Include Specific File Revisions in a Project Label


KBCategory: kbother kbhowto
KBSubcategory: sscl ssother
Additional reference words: 3.04 3.10 4.0 4.0a 5.0 kbdss



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: January 15, 1997
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.