Book Image

Visual SourceSafe 2005 Software Configuration Management in Practice

Book Image

Visual SourceSafe 2005 Software Configuration Management in Practice

Overview of this book

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.
Table of Contents (15 chapters)
Visual SourceSafe 2005 Software Configuration Management in Practice
Credits
About the Author
About the Reviewers
Preface

Analyzing the SourceSafe Database


To keep the database in good shape and to ensure it is running as fast as possible, SourceSafe uses the Analyze utility, which looks out for the following problems:

  • Parent-child mismatch: Possible situations include those in which a parent (project) assumes it has a child (file or subproject) but the child disagrees; a child assumes it has a parent but the parent disagrees; or child and parent don't reference each other, but the child counts are off.

  • Corrupt database files: Files that can contain corrupted data include Names.dat, which stores file names longer than 34 characters; Rights.dat, which stores relationships between users and project rights; Status.dat, which contains checkout status information for files; Um.dat, which stores all users of a Visual SourceSafe database; and Version.dat, which stores the Visual SourceSafe version.

  • Removal of unused items from the database.

It is recommended to run the Analyze utility every week. If you don't run this utility for more than 30 days, when logging in to the Visual SourceSafe Administrator or the Visual SourceSafe Explorer using the Admin account you will be prompted to run it.

Note

Before starting the Analyze utility, make sure no users are logged in and lock the database.

The utility is located in Visual SourceSafe installation folder and it is represented by the analyse.exe file. While running, it will display the progress in its main window as shown in the following figure:

Analyze has the following command-line options:

Usage: analyze [options] [@<response file>|<List of files>] <SourceSafe data path>
-? or -h Display this message.
-b<folder> Specify the folder to use for backup.
-c Compress unused space.
-d Delete unused items.
-db Delete backup.
-dc Disable common messages (bad case in physical file
names).
-df Disable free space check.
-dw Run SourceSafe 2005 reference checking only.
-f Automatically fix files with corruptions.
-fl Automatically fix files with corruptions and re-build
the label cache.
-fp Automatically fix files with corruptions and remove
invalidly named physical files.
-i- When the analysis is complete the program exits.
-refv6 Run SourceSafe 6 reference checking instead of
SourceSafe 2005 reference checking.
-s Slow project rebuild (slower but more rigorous scan for
child items).
-x Do not attempt to lock the database when analyzing. If
-x is specified, -c, -d, and -f are not allowed.
-v1 Show only critical errors.
-v2 Show only significant errors.
-v3 Show all errors and inconsistencies.
-v4 Show errors, inconsistencies, and informational notes.

You can display these options by executing analyze.exe -h.