This documentation is archived and is not being maintained.

How Visual SourceSafe Works

Visual Studio 2005

A typical Visual SourceSafe network consists of one centralized database on a server and clients running on one or more individual machines. For example, in a software development environment, you will store your code in the database and do the editing and compiling for the code on one of the client machines.

Files, projects, and their historical versions are the basic units of operation and organization in a Visual SourceSafe database. Visual SourceSafe monitors the database at all times and records the activity on each source-controlled item. Therefore, it can reconcile differences if more than one team member modifies a particular file or project.

For you to be able to use Visual SourceSafe after installation, you or another person must be designated as the database administrator. This type of user has Administrator rights for the network and the database. The database administrator must configure the server as necessary, create the database, and perform any required customization for your site. After the database is ready for use, the administrator has to secure it and protect it from unauthorized use by setting up the database user list and assigning user permissions and project rights.

After the configuration of the site for the team, users can begin to use the database. Typically, team members will use the database to check out files, make changes, and then check the files back in, using an exclusive checkout model. In support of file sharing to enhance operations in a team environment, Visual SourceSafe also supports a multiple checkout model, which allows file sharing and merging of file versions after changes are made. For more information about the two models, see Work Styles.

Checking Out Items

The Check Out command on the Versions menu in Visual SourceSafe lets you check out one file, multiple files, or all files in a project. When you check out a file, Visual SourceSafe places a writable copy in your working folder. The file pane of Visual SourceSafe Explorer shows statistics about the file, including your user name in the User column. For more information, see How to: Check Out a File or Project.

Undoing a Check Out Operation

Visual SourceSafe's Undo Check Out command allows you to reverse a checkout. This command does not create a new version of the file in the Visual SourceSafe database. You can choose to overwrite your local copy or retain it to save elsewhere.

The Versions menu of Visual SourceSafe Explorer allows access to the Undo Check Out command. For more information, see How to: Undo a Checkout.

Checking In a File

The Check In command, accessible through the Versions menu, allows you to check in one file, multiple files, or all files in a project. In response to this command, Visual SourceSafe places read-only copies of the files in the database. You are prompted for comments about the files you check in. The file pane of Visual SourceSafe Explorer shows statistics about the files, including your user name in the User column. For more information, see How to: Check In Changes to an Item.

Sharing Items with Other Users

Visual SourceSafe allows you to share files and projects through its Share and Branch commands, available on the Versions menu of Visual SourceSafe Explorer. Your database administrator can allow or disable multiple checkouts, as described in How to: Enable Multiple Checkouts. If multiple users will be making frequent changes to this file, the database administrator may want to consider enabling multiple checkouts.

In This Section


Introduces the server, client, and database components of Visual SourceSafe and discusses their operating environment.

Client Programs and Tools

Introduces the Visual SourceSafe client programs and maintenance tools.

Compare and Merge Mechanisms

Describes the mechanisms that Visual SourceSafe uses for comparing and merging file and project versions.

Database Design

Discusses details of a typical Visual SourceSafe database.

Files and Projects in Visual SourceSafe

Describes the way Visual SourceSafe handles files and projects.

Keyword Expansion Support

Discusses keyword expansion support in Visual SourceSafe.

Purge Support

Tells how Visual SourceSafe supports purging of deleted files and projects from a database.

Rollback Support

Describes the way that Visual SourceSafe rolls back database files and projects to previous versions.

Search Engine

Discusses the Visual SourceSafe search and find functionality.


Introduces database security in Visual SourceSafe, and references detailed information in other topics.

Sharing and Branching

Describes file and project sharing, and the branching of shared files.

Version Control

Provides an overview of the versioning mechanisms that Visual SourceSafe uses to keep track of database file or project history. This will create a new version of the file in the database, and will preserve the content of previous versions for later retrieval.

Web Project Support

Describes the support that Visual SourceSafe provides for Web projects associated with a Web site.

Work Styles

Discusses the Lock-Modify-Unlock (exclusive checkouts) and Copy-Modify-Merge (multiple checkouts) work styles for using a Visual SourceSafe database.

See Also