Chapter 1: Visual SourceSafe Server and Client Install, Basic Administration
Chapter 2: Terminology and Philosophy – using VSS as a stand-alone tool
Chapter 3: Configuring for applications
Chapter 4: Visual Studio Interfaces
Chapter 5: Visual InterDev interface and SQL Server
Chapter 6: Working with Microsoft Office
Chapter 7: Maintaining
Chapter 8: Beyond the Basics
Chapter 9: Troubleshooting
Essential SourceSafe helps SourceSafe users, software developers, and administrators better use SourceSafe. It covers installation, configuration and operation for SourceSafe in a standalone environment, or in an integrated environment with Microsoft Visual Studio 6.0, Microsoft Office 2000 Separate chapters cover installation, operation, configuration, and instructions for integration with individual products. The remainder of this document is an enhanced table of contents, with the introductory paragraphs from each chapter.
This chapter covers the process of installing the software, a good first step. It covers where you should install the components, and what gets installed. Once SourceSafe is installed, you use the Visual SourceSafe Administrator, covered in depth later in the book, to set up user logins. At the completion of this chapter, you’ll be all set up for the next chapter, where you get to start working with SourceSafe.
Before you can do much of anything with Visual SourceSafe, you need to install it. That’s what’s covered first in this chapter. After that, there’s a section documenting which files landed where. The final portion of this chapter walks you through the process of setting up your first user account. In the next chapter, you get to actually create your first SourceSafe project.
How many installs do I do?
- Installing Visual SourceSafe as a stand-alone product
- Installing VSS as part of the Visual Studio install
- Installing VSS as part of a Microsoft Office Developer install
What files get installed where?
Update SourceSafe with service packs
VSS is installed—now what?
Creating user accounts
Configuring the database for integration
So far, Chapter 1, “Visual SourceSafe Installation,” helped you install Visual SourceSafe and configure it. This chapter looks at what SourceSafe does for you—how it stores information, how it presents your projects, and how you can check files in and out and track changes. This chapter explains what SourceSafe is doing with operations named checkout, check in, difference, branch, pin and merge. In this chapter, you get to run the Visual SourceSafe client, also called the Explorer, create a sample project and source code, and exercise the functions made available through the VSS Explorer interface. The last portion of this chapter reviews each of the dialogs presented by SourceSafe, pointing out important features and hazards.
The primary purpose of SourceSafe is to store, retrieve and track the history of multiple versions of computer files. These files could be source code for a development project, Word documents for a marketing campaign, or CAD drawings for a building renovation. The contents are generally not important to SourceSafe (although later on, the difference between binary and text files is discussed); SourceSafe’s job is to track the documents and their changes over time. This chapter discusses the interface of the SourceSafe Explorer and, in the process of doing that, all of the functionality available within the product.
The theory: Learning to climb the tree
Tutorial: Climbing the tree
The reality: Swinging through the branches
Multiple checkouts and the Dreaded Visual Merge form
Is the hassle worth it?
The Explorer interface
Project tree view
Drag and drop
Dialog by dialog
The File menu
The Edit menu
The View menu
The SourceSafe menu
The Tools menu
The Web menu
Once you have your applications and Visual SourceSafe installed, the next step is to let your applications know that VSS is available and that the application should use it as its source code control provider. Each application is a little different in how you perform that step and in the options you have to configure. This chapter serves as a guide to administrators and users in setting up their applications for SourceSafe integration.
Chapter 1, “Visual SourceSafe Installation,” covered the basics of installing and configuring Visual SourceSafe. Chapter 2, “SourceSafe in Theory and Practice,” reviewed the use of SourceSafe as a stand-alone tool, reviewing the basic design concepts of source code control as implemented in SourceSafe, and then walking through the interface of the stand-alone product. In this chapter, you will see how SourceSafe can also be integrated into other products, becoming part of their interface. Each application needs to be configured, and each has options that affect how the product works.
The SCCAPI mechanism
Standardize on one configuration for the team
Configuring Visual FoxPro
Configuring Visual Basic
SourceSafe common Advanced options
Configuring InterDev and Visual J++
Configuring Visual InterDev for Web projects
Configuring Microsoft Office
Configuring InterDev and SQL Server for data projects
Now that the product is installed and configured, and you’ve seen what functionality
is available through the VSS Explorer interface, this chapter looks at the capabilities exposed in each of the Visual Studio applications.
This chapter documents the day-to-day operations that you will perform using your Visual Studio development environments and integrated source code control using Visual SourceSafe.
Should you use integration?
How it works: The big picture
- Creating a new project
- Joining an existing project
- Maintaining existing code
- Adding new code to a project
- Bringing an existing project into source code control
The devil’s in the details
- Are metadata and process information data, or are they code?
- What about development and test data?
- Should my add-on tools, build tools and setup tools be in SourceSafe, too?
- How to handle projects with remote developers
- What to do when the project gets mangled?
- Routine source control operations with VFP
- Problems with Visual FoxPro integration
- How it works
- Problems with VB integration
- How it works
- Problems with VC++ integration
Using Visual InterDev with integrated source code control is similar in many respects
to the interfaces presented in the Visual Studio tools, but it’s significantly different, too. In this chapter, we’ll look at how accessing SQL Server stored procedures or Web-based pages via IIS works differently than the direct access to source code in the Visual
The InterDev interface
Visual InterDev and Internet Information Server
Visual InterDev and SQL Server
The Microsoft Office Developer Edition (yes, MODE) supplies the add-ins to allow Access 2000 and the Office VBA Editor to use SourceSafe as their source code control provider. MODE also includes an updated version of SourceSafe itself.
Chapter 1, “Visual SourceSafe Installation,” discusses installing Visual SourceSafe as a stand-alone product, as part of the Visual Studio installation, or as part of the MODE installation. Chapter 3, “Configuring Applications,” covers the basics of configuring Access, Visual Studio, Microsoft Office and Visual Basic. In this chapter, I show how SourceSafe integration works within the Office tools.
Microsoft Office Developer Edition
What’s going on under the hood
Issues with Office and SourceSafe
This chapter covers the work an administrator will do to maintain the SourceSafe installation: configuring the Administrator tool, performing backups, testing the structure of the Visual SourceSafe database, maintaining the security system, and performing maintenance on the database.
A serious mistake made by many organizations is failing to identify one person tasked with the administrative duties of maintaining the SourceSafe installation. Some of this can certainly be blamed on the vendor, who downplays the necessity to regularly test and back up the installation. But just as cars regularly need the fluids checked, the oil changed, and the tires rotated, Visual SourceSafe needs to be checked for problems, have old files cleaned out and have the security model reviewed and cleaned up.
This chapter is for that administrator. First, it covers all of the Tool | Options dialogs, to explore the capabilities of the product so that the administrator can know what services are available through SourceSafe. Then, it reviews each of the major tasks an administrator needs to perform: backups, analyzing the database for corruption, maintaining the security system and archiving old information.
Configuring SourceSafe’s Administrator
Analyze, Analyze, Analyze
- Strategies for performing analysis
The physical file structure
- Generating a physical file list
- Parsing the physical file list into a database table
The security model
- The User files UM.DAT
Cleaning out the temporary directory
Working with shadow folders
Archive and Restore
You’ve got SourceSafe up and running, but you’d like to have finer control. Or you need to roll out some new standards for how SourceSafe should be used. This chapter touches on advanced configuration options, using the SourceSafe INI files, environment variables and command-line switches. As cool as the tool is by itself, there are times when you don’t want to use a graphical interface to interact with SourceSafe—in batch files, or from within another product, for example. There are three other interfaces available: the Source Code Control (SCC) Provider interface that is responsible for the integration in Visual Studio, a text-based console interface that is ideal for batch files and routine tasks, and an Automation interface, which is great for working with COM-friendly programming languages. All three interfaces are discussed in this chapter.
Up to this point in the book, you have worked with SourceSafe as a black box—a program
that provides certain tools and options. Some items are configurable, and others are, well, they are the way they are. However, it may be that you need only some of the functionality
of SourceSafe, but you want to automate the process. Or you need to do things your way. Or you need to make it simple enough for less technically inclined users. This chapter covers configuration and the three alternative interfaces into SourceSafe, and some common tasks
that can be done with each.
Using the INI files
- INI structure
- Order of precedence
Using environment variables
Starting the Explorer with startup switches
Using Microsoft’s Source Code Control Application Programming Interface (SCCAPI)
Using the command line
- Common command-line options
- The auxiliary tools: Analyze, Archive, Restore, DDUPD, MKSS
- Using the SourceSafe engine from the command line
- Automating the SourceSafe engine
- Trapping SourceSafe events
Sometimes, bad things happen to good data. This chapter reviews a hodgepodge of problems with SourceSafe database corruption, performance problems and other issues, and identifies a set of fixes and workarounds.
No SourceSafe Administrator likes to hear the news that “something’s wrong with SourceSafe.” Oftentimes, the news will come from a developer who’s having problems accessing the database, or experiencing unacceptable slowness. Other times, you’ll get the heads-up when the regular Analyze tests start reporting a bunch of errors or, even worse, Analyze or SourceSafe refuses to run. This chapter is devoted to the problems you will encounter with SourceSafe and ideas about how to fix them.
First: Have a Plan B
Second: Prevent the problem
Third: Have a method to your madness
Fixing common problems
- Finding Help in the Knowledge Base
- Corrupted cache files
- Rebuilding the AAAAAAAA.CNT file
- Network slowness / performance problems
- Lost passwords
Upgrades, updates, service packs and DLL Hell
Cleaning up users no longer there
Folder recurring within folder