[ Go to October 1997 Table of Contents ]|
-- by Martin Heller
For most programmers, "control" and "management" are dirty words. Alas, creativity and freedom are not the only values in software development: There are such things as reliability, reproducibility, accountability and safety. A source-code control (SCC) or management system is the programmer's safety net. It prevents source-code loss, maintains a project's revision history and allows recon- struction of a project's previous version.
We reviewed three source-code management systems: Microsoft Visual SourceSafe 5.0, MKS Source Integrity 7.3 and PVCS Version Manager 5.3. All have graphical user interfaces, organize files into projects and can display file differences visually while retaining alternative command-line interfaces.
Microsoft Visual SourceSafe 5.0
Microsoft Visual SourceSafe's GUI uses a variation of the Windows Explorer layout to display the project tree, project files and status messages. You can perform actions on projects and files using application menus, the toolbar, accelerator keys or the pop-up right-click menu. Double-clicking on a file gives you the choice of viewing or checking out and editing the file.
Visual SourceSafe allows you to share files among projects. You can also branch shared files into separate versions for different projects and, if you wish, later merge these into common versions. SourceSafe does not support promotion or event triggers (custom processes to be performed on check-in, check-out and so on)
As you might expect, Visual SourceSafe integrates beautifully with Microsoft Visual Studio. In Visual C++, for instance, checked-out files are flagged in the File view. You might think that Microsoft has taken unfair advantage of its inside knowledge, but you'd be wrong. All three products use a standard SCC provider interface, which most development environments now support. The catch is that only one SCC provider can be active at once, even though many can be installed.
MKS Source Integrity 7.3
MKS Source Integrity's GUI uses a multiple-document layout of Detail-view panes to manage projects, sandboxes and archives. Source Integrity's sandbox is a unique, private project image. In large projects, programmers have to face the issue of how often to check in their work. If they do so too frequently, they may destabilize other programmers' work; if they don't check in often enough, other programmers' work can become out of date. The sandbox offers an additional project level, which allows frequent check-ins without destabilization.
Source Integrity supports branching, merging, promotion, event triggers and variant projects-a more convenient way of branching files. Coupled with the sandboxes, variants make post-release maintenance a lot more manageable.
PVCS Version Manager 5.3
PVCS Version Manager's GUI uses another variation of the Windows Explorer layout to present a project tree and a file system explorer. You can perform actions using the application menus, toolbar or accelerator keys.
Version Manager supports branching, merging, promotion and event triggers. The administrator can set branching to automatic or manual. It's a flexible scheme, but somewhat technical.
Know the code
Any of these three products can serve programming teams' source-code management needs. The differences among them are subtle and won't make anyone want to move existing projects or license a second product. That said, Microsoft Visual SourceSafe is probably the easiest of the three to use, but also the least flexible. PVCS Version Manager is the hardest to use and the most flexible. MKS Source Integrity strikes a near-ideal balance between ease of use and flexibility.