PVCS Version Manager Intersolv, v5.2.06 For better or worse, Intersolv's PVCS Version Manager is
the yardstick by which all PC source code management systems are measured. PVCS is a long-established product that has earned a reputation as an industrial-strength SCM for DOS. The recent addition of a graphical front
end has tarnished this reputation somewhat, and in the race to supply an SCM that integrates with popular IDEs such as Visual Basic and Powerbuilder, Intersolv are now facing serious competition from the smaller fish.
We'll look at the Visual Basic interface later, but if you want to exploit the full power of PVCS you will need to use the Version Manager GUI or the DOS command line interface. When pressed, Intersolv admit that most
serious users still work with the command line and if you ask around you'll soon find that the PVCS 5.2 GUI is universally reviled as cumbersome and buggy. Don't let the 5.2 version number fool you: the latest GUI is a
complete rewrite from the (also reviled) 5.1 interface and has only been on the market for a few months. The GUI's frailty is what ultimately lets PVCS down: it causes General Protection Faults far too frequently for
comfort, often on the most routine operations, and functional bugs abound. Bugs apart, a lot of the bad feeling is down to usability. The main displays are presented in the File Manager style, but there is no
auto-refresh. The dialogs all look the same and it can sometimes feel like you're playing an adventure game because the captions and actions of controls change as you manipulate other controls. Some dialogs are just
poorly thought-out -- the check-out dialog, for example, demands that you specify a promotion group, yet to select this you need to press the 'Options' button to reveal the appropriate field. It's not all bad news,
because underneath the dodgy user interface PVCS has all the functions you will ever need. It doesn't let you nest projects as you can in some systems, but it offers an alternative by providing folders, which allow you
to define subsets of the files stored in your project. Most importantly these subsets can intersect, so you can build different views to accommodate any logical grouping you want. The power of this becomes clear if you
think of folders as equivalent to projects in other SCMs, because it allows you to share files with equal status between different programs. By allowing folders to intersect PVCS has effectively implemented the same
function as SourceSafe's 'share'. As an industry trend-setter, you would expect PVCS to provide comprehensive labelling functionality, but it goes a step further by providing 'floating' labels as well as the
conventional fixed ones. This seems a little puzzling until you realise that you can check files out by specifying a label instead of a revision number. This means that you can attach your own personal label to a subset
of files and the label will always reposition itself at the tip revisions whenever you check files in. PVCS also provides 'promotion groups', another kind of label designed to help you track the movement of your source
components through a customised development cycle (a 'promotion model'). It's difficult to explain concisely how promotion groups work, and Intersolv have issued an 11-page technical bulletin to try and explain it to
bewildered customers. You can think of them as bingo counters that you can slide around your list of files to keep track of which are in development, system testing, and so on. The area in which PVCS excels is
security. Whilst it's important to control access to your project files, it is also vital to prevent your users from reconfiguring the SCM itself. To this end, user privileges can be tailored individually and you can
even remove menu items from the GUI. The hugely flexible system is based on assigning function privileges to users and user groups; these can then be refined on an archive by archive basis by attaching lists of
authorised users or groups to individual archives. PVCS for Visual Basic Let's get this out of the way first - you can't buy a product called PVCS for Visual Basic - PVCS/VB is a free
add-on for PVCS Version Manager and you will need a fully-licenced copy of Version Manager for each developer. This rules out PVCS/VB as a cheap option, but in principle you should be able to use the full power of the
PVCS engine to manage the Visual Basic parts of your project. Unfortunately this is only partly true because PVCS/VB is a somewhat schizophrenic product. The fact that you can't use the PVCS branch and merge functions
with the VB interface, for example, immediately pegs it as a 'small project' tool, a view reinforced by the exclusion of promotion models from the VB interface. As users of the regular GUI will have
discovered, the default way PVCS names its archive files causes problems with pairs of FRM/FRX files and the result is that Intersolv have changed the way the VB interface creates archive names. The effect of this is
that to swap between the VM GUI and the VB interface for the same projects you will need to change VM's default suffix mask to match the VB one. Another common source of problems with the VB interface is that VM can
embed its master configuration into one of its DLLs, but since the VB interface has its own private configuration file which is read before this DLL, VB-specific settings can be ignored. PVCS/VB integrates
itself with Visual Basic by adding items to the Options menu. In use the interface is impenetrable, with some impressively bewildering dialogs and no visual indications of which files are locked. The help file (there is
no printed manual) can't even agree on what functions are available -- it lists nine new menu items, but the product only has five. With the exclusion of branching and merging, the functionality on offer barely matches
Versions/VB but without the elegance. In mitigation, PVCS/VB does solve the form-caching problem by reloading the makefile after each check-out operation. |