Source Control

See Also      Tasks

Your Web application can easily grow into a large set of files. To keep your Web application fresh and current, you may need a team of people to create and maintain those files. Whether you are working on a team or by yourself, you can track and save your changes to files easily using Microsoft® Visual SourceSafe™. To manage changes to your Web files, you can use Visual SourceSafe in unison with Microsoft® Visual InterDev™.

Using source control, you and other Web team members can share files, modify them independently, and later merge the changes. Visual SourceSafe also saves past versions of the files in a database, tracks the date and time of changes, and provides an option to keep a comment log.

The most commonly used Visual SourceSafe commands are available directly from within Visual InterDev. The rest of the Visual SourceSafe command set is always available from the Visual SourceSafe Explorer.

To use source control with Visual InterDev, you need to understand:

The Components for Source Control

To use source control with your Web files, you need the following items.

Note   For best results with source control, use Visual SourceSafe on a server running Microsoft® Windows NT® with an NTFS file system.

Your Interaction with Visual SourceSafe

You can interact with Visual SourceSafe on several levels depending on the task you want to complete. Some tasks need to be performed only once, while others may take place on a regular basis.

The following table shows a list of typical tasks you might perform, how often you will need to perform the tasks, and the interface you use to complete the task. For more information about each task, use the link provided in the table.

Task Frequency Software used
Installing and setting up Visual SourceSafe Once for each master Web server Windows and Visual SourceSafe Setup
Setting options for multi-user checkout Occasionally as needed Visual SourceSafe Administrator
Adding source control to a Web application Once for each Web application Visual InterDev
Checking files in and out Often as needed Visual InterDev
Resolving merge conflicts Occasionally as needed Visual InterDev
Setting checkout code options Occasionally as needed Visual InterDev
Reviewing file history Occasionally as needed Visual SourceSafe Explorer(1)
Restoring past versions Occasionally as needed Visual SourceSafe Explorer(1)

(1)   If you're using a proxy server for remote access, you won't be able to use the Visual SourceSafe Explorer to view your Visual SourceSafe database because the Explorer requires a LAN connection. For more information, see Project Architecture.

The following sections describe file tracking, simultaneous checkout and merging, history details, and other Visual SourceSafe options.

File Tracking

After you have Visual SourceSafe installed and enabled for your Web application, you can typically work directly in Visual InterDev. Visual SourceSafe and Visual InterDev work together seamlessly to track your file changes as you add, save, and remove files in your Web project. Any changes you make to your Web application files are propagated to the Visual SourceSafe project without requiring you to open Visual SourceSafe.

When you check out a file in your Web project, you get a write-enabled copy of the file in your local Web. When you check the file in, the new version is copied to the master Web application on the master server and is sent to the Visual SourceSafe repository. Your local version becomes read-only. If you have been working offline, when you go online and check in a file, the new version is copied to both the master Web application and the Visual SourceSafe repository. For more information, see Working Under Source Control.

Simultaneous Checkout and Merging

If Visual SourceSafe is set to allow simultaneous checkouts, you are warned if someone else has made changes to the file while you had it checked out. When this happens, you can review the differences between the two files and choose to merge them, accept specific changes, or disregard changes in either version.

For example, you might be working on the script and someone else might be changing content on a Web page. When you check in the file, you can merge the two versions into one file containing both changes.

The option for simultaneous checkout is set using the Visual SourceSafe Administrator. For more information about multiple check outs, see Resolving Merge Conflicts.

File History Details

Visual SourceSafe offers the option to keep notes about each check in by prompting you for a comment when you check in a file. If you do not plan to keep a comment history, you can use the Source Control options in the Visual SourceSafe Administrator to prevent the comment dialog box from appearing. For more information about setting options, see History Command in the Visual SourceSafe topics.

Visual SourceSafe Options

You can also set additional options for how Visual SourceSafe provides alerts and handles changes to files. These settings affects the Visual SourceSafe options for the Web application and, therefore, everyone who works on the Web application. For more information about setting options, see Options Command in the Visual SourceSafe topics.

You can also set check out options that determine whether you always get a write-enabled copy, a read-only copy, or a prompt to choose. For more information about setting default options, see Checking a File Out.

The Interaction Between Visual InterDev and Visual SourceSafe

Visual InterDev and Visual SourceSafe interact through the FrontPage server extensions. Visual SourceSafe and the FrontPage extensions must reside on the same machine working against the same master Web server. If you have Microsoft® Internet Information Server 4.0, you can have multiple virtual master Web servers, but a single Visual SourceSafe project can reference only one.

The FrontPage server extensions provide HTTP connection services between Visual InterDev and other services on the Web server. When you check in a file, the file moves from Visual InterDev on your developer workstation to the FrontPage extensions, which update the master Web application and give a copy to Visual SourceSafe. Visual SourceSafe adds the copy to its repository along with a record of the date, time, and user who checked the file in. If you choose to add comments, this text is included as well.

Visual InterDev and the FrontPage server extensions

This table shows what happens when you perform common file commands.

Task Action
Check out and open a file Local and master mode: Checks if the file is already checked out exclusively. If not, checks out the file and places a write-enabled copy of the file in your local Web application.

If you are offline: You cannot check out files while you are disconnected from the server. You need to check them out before going offline.

Save a file Local mode: Saves the file to the local Web application The file is not saved to the master Web application and is not checked in to Visual SourceSafe.

Master mode: Saves the file to the local Web application and updates the copy on the master Web application.  The file is not checked in to Visual SourceSafe.

If you are offline: The file is saved to the local Web application, but not to the master Web application. The file is not checked in to Visual SourceSafe.

Save and check in a file Local mode and master mode: Checks in the file and updates the copy in Visual SourceSafe and in the master Web application. Depending on your check-in options, may also remove the write-enabled copy from the local Web application.

If you are offline: You cannot check in files while disconnected from the server. You need to check them in after you go back online.