KnowledgeBase Archive

An Archive of Early Microsoft KnowledgeBase Articles

View on GitHub

Q155678: HOWTO: Share Files Under Source-Code Control in Visual C++

Article: Q155678
Product(s): Microsoft SourceSafe
Version(s): 
Operating System(s): 
Keyword(s): kbSSafe400 kbSSafe500 kbSSafe600 kbVC400
Last Modified: 04-MAY-2001

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

- Microsoft Visual SourceSafe for Windows, versions 4.0, 4.0a, 5.0, 6.0 
- Microsoft Visual C++, version 4.0 
-------------------------------------------------------------------------------

SUMMARY
=======

This article describes several different methods that may be used to share files
between different Visual C++ projects that are under source-code control.

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

For best results, mirror your local directory structure on your SourceSafe
server. For example, if your file is in C:\Common\Resources, then add the file
to a SourceSafe project named $/Common/Resources. All of this must be done using
either the SourceSafe Explorer or SS.EXE from the Command prompt.

Method 1
--------

Assume that you have some files in C:\Shared that are in SourceSafe project
$/Shared and you have a Visual C++ project in C:\Projects\MyProject that is in
SourceSafe project $/Projects/MyProject. Do the following to add the files in
C:\Shared in the Visual C++ project in C:\Projects\MyProject:

1. Open the C:\Projects\MyProject Visual C++ project in Developer Studio.

2. From the Insert menu, select "Files into Project...".

3. Change the directory to C:\Shared, select the files you wish to include in
  your Visual C++ project, and click the OK button.

4. When prompted to put the newly-added files under source-code control, click
  NO. The files are already under source-code control and do not need to be
  added.

5. From the Tools.Source Control menu, select "Refresh Status." Note that the
  icons for the files you have added now reflect the same status as the files
  had in the project that is located in C:\Shared.

The advantages of this behavior are:

1. There is only one copy of each file on the local hard drive.

2. The source-code control status for all files appears in Visual C++.

3. All source-code control manipulation occurs within Visual C++.

The disadvantages are:

1. A modified, not-checked-in version of a file in C:\Shared will affect all
  projects on the local machine that use this file.

2. All files must reside on the same drive (in this case, C:).

3. The directory structure containing the Visual C++ project and the shared
  files must be mirrored in the SourceSafe database. In the example above,
  $/Shared mirrors C:\Shared and $/Projects/MyProject mirrors
  C:\Projects\MyProject. You may not have the files in C:\Shared in SourceSafe
  project $/ShareFiles for this method to work.

Method 2
--------

Assume that you have some files that are under source-code control in C:\Shared
and that you have a Visual C++ project in C:\Projects\MyProject that is also
under source-code control. Do the following to add the files in C:\Shared in the
Visual C++ project in C:\Projects\MyProject:

1. Open the C:\Projects\MyProject Visual C++ project in Developer Studio.

2. From the Tools.Source Control menu, select "Share from SourceSafe...".

3. A dialog box with your SourceSafe projects will appear. Highlight the project
  that corresponds to C:\Shared, select the files you wish to include in your
  Visual C++ project, and then click the Share button and the Close button.

The advantages to this behavior are:

1. A modified, not-checked-in version of a file in C:\Projects\MyProject will
  only affect C:\Projects\MyProject and not other projects that also share the
  file with this method.

2. The source-code control status for all files appears in Visual C++.

3. All source-code control manipulation occurs within Visual C++.

4. Not all files must reside on the same drive. Different projects may reside on
  different drives.

The disadvantage is:

1. There are multiple copies of each file on the local hard drive, but only one
  copy in the SourceSafe database. In this case, there is a copy in C:\Shared
  and a copy in C:\Projects\MyProject.

Method 3
--------

Assume that you have some files that are under source-code control in D:\Shared
and that you have a Visual C++ project in C:\Projects\MyProject that is also
under source-code control. Do the following to add the files in D:\Shared in the
Visual C++ project in C:\Projects\MyProject:

1. Open the C:\Projects\MyProject Visual C++ project in Developer Studio.

2. In the Insert menu, select "Files into Project...".

3. Change the directory to D:\Shared, select the files you wish to include in
  your Visual C++ project, and click the Add button.

4. When prompted to put the newly-added files under source-code control, click
  NO.

The advantages to this behavior are:

1. There is only one copy of each file on the local hard drive.

2. Not all files must reside on the same drive. Different projects may reside on
  different drives.

The disadvantages are:

1. A modified, not-checked-in version of a file in D:\Shared will affect all
  projects that use this file.

2. The source-code control status for the files in D:\Shared will not appear in
  Visual C++.

3. Not all source-code control manipulation occurs within Visual C++. You will
  need to use the SourceSafe Explorer for the files in D:\Shared.

Additional query words:

======================================================================
Keywords          : kbSSafe400 kbSSafe500 kbSSafe600 kbVC400 
Technology        : kbVCsearch kbVC400 kbSSafeSearch kbAudDeveloper kbSSafe600 kbSSafe400 kbSSafe400a kbSSafe500
Issue type        : kbhowto

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

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.