O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Visual SourceSafe 2005 Software Configuration Management in Practice

Book Description


Best practice management and development of Visual Studio .NET 2005 applications with this easy-to-use SCM tool from Microsoft

  • SCM fundamentals and strategies clearly explained

  • Real-world SOA example: a hotel reservation system

  • SourceSafe best practices across the complete lifecycle

  • Multiple versions, service packs and product updates.

In Detail

Why is Software Configuration Management important?

Software Configuration Management (SCM) is the discipline of managing the building and modification of software through techniques including source-code control, revision control, object-build tracking, and release construction. SCM involves identifying the configuration of the software at given points in time, systematically controlling changes to the configuration, and maintaining the integrity and traceability of the configuration throughout the software development lifecycle.

Software Configuration Management is one of the first skills a serious developer should master, after becoming proficient with his or her development tools of choice. Unfortunately, this does not always happen because the subject of SCM is not commonly taught in either academic or company training.

When developing software, you need to have a manageable team development effort, track and maintain the history of your projects, sustain parallel development on multiple product versions, fix bugs, and release service packs while further developing the application. This is where the concepts of Software Configuration Management come into play; SCM is about getting the job done safer, faster, and better.

Visual SourceSafe has a long history behind it. The previous versions were either loved for their ease of use and integration with other Microsoft products, or hated because the headaches caused by using them improperly. This book will help you to avoid such problems.

This book uses a real-world case-study project to teach you how to manage software configuration efficiently using Visual SourceSafe 2005, Microsoft’s Software Configuration Management (SCM) solution for independent developers and for developers working in small- and medium-sized teams. It also provides a best-practices reference on using SourceSafe 2005 to manage the software development lifecycle.


Table of Contents

  1. Visual SourceSafe 2005 Software Configuration Management in Practice
    1. Visual SourceSafe 2005 Software Configuration Management in Practice
    2. Credits
    3. About the Author
    4. About the Reviewers
    5. Preface
      1. What This Book Covers
      2. What You Need for This Book
      3. Who This Book is For
      4. Conventions
      5. Reader Feedback
      6. Customer Support
        1. Downloading the Example Code for the Book
        2. Errata
        3. Questions
    6. 1. Controlling the Evolution of Software Products
      1. What is Software Configuration Management?
      2. The Software Development Lifecycle
      3. Software Configuration Management Concepts
        1. Resource Management
          1. The Repository
        2. Workspaces
        3. Resource Versioning
          1. Revisions
            1. Deltas
        4. Cooperation Support
          1. Check Out
          2. Modify/Edit
          3. Check In
          4. Merge
          5. Commit/Submit
          6. Undo Check Out
          7. Cooperation Models
            1. Check Out-Modify-Check In
            2. Modify-Merge-Commit
        5. History Management
          1. Labels
          2. Using Labels
        6. Build and Release Management
        7. Parallel Development
          1. Codelines
          2. Branches
            1. Merging Branches
      4. Conclusion
      5. Summary
    7. 2. The SourceSafe 2005 Architecture
      1. The Visual SourceSafe Server
        1. The Visual SourceSafe Administrator Application
        2. The LAN Booster Service
        3. The XML Web Service
      2. The Visual SourceSafe Database
        1. Data Folder
        2. Temp Folder
        3. Users Folder
        4. VssWebDownload Folder
        5. VssWebUpload Folder
        6. Srcsafe.ini File
        7. Users.txt File
      3. The Visual SourceSafe Clients
        1. Visual SourceSafe Explorer
        2. Visual SourceSafe Command-Line Utility
      4. The SourceSafe Integration with Visual Studio .NET
        1. Plug-In Selection in Visual Studio .NET
        2. Accessing the Source Control Commands
      5. Network Configurations
        1. Accessing the Server using the LAN Connection
        2. Accessing the Server through a Virtual Private Network
        3. Accessing SourceSafe through HTTP/HTTPS
      6. Summary
    8. 3. Creating a Service-Oriented Application
      1. Specifications—Project Architecture
        1. System Requirements
        2. Application Architectures
          1. Compact Application Architecture
          2. Component Application Architecture
            1. Data Access Layer
            2. Business Layer
            3. Presentation Layer
            4. Characteristics
          3. Service-Oriented Architecture
            1. XML Web Services
        3. Choosing an Application Architecture
        4. Choosing an Application Platform
          1. Microsoft .NET Framework
      2. Designing the System
        1. System Structure
        2. Database Structure
        3. Visual Studio .NET Projects and Solutions
          1. Visual Studio .NET Projects
            1. Non-Web Projects
            2. Web Projects
          2. Visual Studio .NET Solutions
          3. Partitioning Solutions and Projects
            1. Single Solution
            2. Partitioned Solution
            3. Multi-Solution
          4. Best Practices for the Solution Physical Structure
            1. Hierarchical Folder Structure
          5. Creating Web Projects
            1. Using the File System
            2. Using Local IIS
            3. File System versus Local IIS
        4. Creating the Orbital Hotel Solution
      3. Summary
    9. 4. Adding Solutions to the SourceSafe Database
      1. Setting up the Database
      2. Connecting to the Database
      3. Adding the Database to the Database List
        1. Adding the Database over the LAN
          1. Using Visual SourceSafe Explorer
          2. Using Visual Studio with the LAN Plug-In
        2. Adding the Database over the Internet
      4. Opening the Database
        1. Using Visual SourceSafe Explorer
        2. Using Visual Studio with the LAN Plug-In
        3. Using Visual Studio with the Internet Plug-In
      5. Adding the Solution to the Database using Visual Studio
        1. Files Subjected to Source Control
        2. Visual Studio with the LAN Plug-In
        3. Visual Studio with the Internet Plug-In
      6. What Happens after Adding the Solution to the Database
      7. How SourceSafe Represents the Solution—the Data Model
        1. Projects, Subprojects, and Files
      8. Summary
    10. 5. Developing Solutions under Source Control
      1. Setting up the Workspace
        1. Workspace Mappings
        2. Getting Solutions from the Database
          1. Using Visual Studio with the LAN Plug-In
          2. Using Visual Studio with the Internet Plug-In
      2. Adding New Project Files
        1. Creating the Room Management Classes for Orbital Hotel
        2. Designing the Classes using the Class Diagram
      3. Checking In to the Database
      4. Versions and History
        1. File Versions and History
        2. Project Versions and History
      5. Getting the Latest Versions
      6. Team Cooperation
        1. Choosing a Check-Out Model
      7. The Exclusive Check-Out Model
        1. Refreshing a File's Source Control Status
        2. Checking In the Changes
      8. Comparing Versions
        1. Comparing File Versions
        2. Comparing Project Versions
      9. Undoing Version Changes
        1. Getting Older Versions
        2. Rolling Back Changes
      10. The Multiple Check-Out Model
        1. Merging Changes
          1. Merge on Check In
          2. Merge then Check In
          3. Merge by Getting the Latest Version
        2. Merge Conflicts
        3. Resolving Merge Conflicts
      11. Pinning Files
      12. Searching for Files in the Database
        1. Wildcard Search
        2. Status Search
        3. Canceling the Search Mode
      13. Sharing Files
        1. Using Visual Studio with the LAN Plug-In
        2. Using Visual Studio with the Internet Plug-In
        3. Using Visual SourceSafe Explorer
      14. Moving Projects and Files
        1. Moving Files
        2. Moving Projects
        3. Rebinding to the Database
      15. Deleting, Recovering, and Purging Files
      16. Summary
    11. 6. Working from Remote Locations
      1. Working Online
        1. Using the Native HTTP(S) Access
          1. Connecting to the Database
          2. Differences from the LAN Plug-In
        2. Using Virtual Private Network (VPN) Access
        3. Third-Party Solutions
      2. Working Offline
        1. Loosing the LAN Connection to the Database
        2. Starting Work Offline with the LAN Plug-In
        3. Loosing the Internet Connection to the Database
        4. Starting Work Offline with the Internet Plug-In
        5. The Disconnected Mode
      3. Reconnecting to the Database
        1. Using the LAN Plug-In
          1. Only Allow Checkouts of the Latest Version Option Enabled
          2. No New Revision
          3. File is not Checked Out
          4. File is Checked Out
            1. Allow Multiple Checkouts Option Disabled
            2. Allow Multiple Checkouts Option Enabled
          5. New Revisions
          6. File is Not Checked Out
          7. File is Checked Out
            1. Handling Data Loss Situations
          8. Only Allow Checkouts of the Latest Version Option Disabled
          9. File is Not Checked Out
          10. File is Checked Out
            1. Allow Multiple Checkouts Option Disabled
            2. Allow Multiple Checkouts Option Enabled
        2. Using the Internet Plug-In
          1. File is Not Checked Out
          2. File is Checked Out
            1. Allow Multiple Checkouts Option Disabled
            2. Allow Multiple Checkouts Option Enabled
      4. Summary
    12. 7. Managing the Software Development Lifecycle
      1. The Evolution of Software Products
      2. Milestones
        1. Using Labels to Manage Milestones
          1. Creating Labels
          2. Viewing Project Labels
          3. Viewing File Labels
          4. Editing Labels
          5. Deleting Labels
        2. Recreating Product Configurations
        3. Creating Persistent Configuration Snapshots
          1. Sharing and Pinning Configurations
      3. Building
        1. Build Engines
      4. Testing
        1. Code Analysis
        2. Unit Testing
        3. Code Coverage
      5. Releasing
      6. Parallel Product Development
        1. Codelines
        2. Maintaining Multiple Product Versions
        3. Creating Maintenance Lines
          1. Share, Pin, and Branch
          2. Branching the Maintenance Line on Creation
          3. Branching the Maintenance Line after Share and Pin
        4. Using the Maintenance Line
        5. Integrating Codelines
          1. Merging Branches
            1. Viewing the Differences between Codelines
            2. Merging Files
          2. Resolving Merge Conflicts
      7. Summary
    13. A. Installing Visual SourceSafe 2005
      1. SourceSafe Installation
        1. Server Configuration
        2. Client Configuration
        3. Finishing the Installation
      2. Configuring SourceSafe for Remote Access
        1. Using HTTP
        2. Using HTTPS
          1. Setting up a Server Certificate using SelfSSL
            1. Installing the Certificate on the Clients
          2. Setting up a Server Certificate using Certificate Services
            1. Requesting the Certificate
            2. Issuing the Server Certificate
            3. Installing the Certificate on the Server
            4. Assigning the SSL Certificate to the Website
            5. Distributing the Server's Certificate to Users
      3. Summary
    14. B. Creating and Configuring SourceSafe Databases
      1. Creating Databases
      2. Securing the Database
        1. The SourceSafe Admin User
        2. Setting the Windows Security for the Database
          1. Creating the Windows Groups for the Database Users
          2. Setting the Security Permissions for the Database
      3. Setting the Time Zone
      4. Sharing the Database
      5. Managing the Database Users
        1. Adding Users
        2. Setting Shadow Folders for Read-Only Users
        3. Changing the User Name
        4. Changing the User Password
        5. Allowing Automatic User Logins
        6. Setting Project Rights for Users
        7. Auditing User Actions with Journal Files
        8. Deleting Users
      6. Configuring the Services for Visual Studio
        1. Configuring the Local Area Network Service
        2. Configuring the Remote Internet Access Service
      7. Summary
    15. C. Database Maintenance
      1. Undoing User Checkouts
      2. Changing the Team Version Control Model
      3. Locking the Database
      4. Archiving the Database
      5. Restoring the Database
      6. Analyzing the SourceSafe Database
      7. Summary