Inherit from VCS::PVCS::* to get all necessary methods to parse master config file, as well as the master pvcsproj.pub to learn about all projects in the PVCSROOT.

Provides methods to operate on an entire project's files all\ at once. You can checkout, checkin, get history, or use the VCS command to perform many different archive operations on all the files in the project.

Open an project in PVCS. If the project doesn't exist, an attempt is made to create it. If an VCS::PVCS object is not passed in, then the superclass routines from VCS::PVCS are called to parse ISLVINI, PVCSPROJ files, and store global information, relevant to all projects, from MASTER.CFG. Then open and parse project-specific files (pvcsfold.pub) to learn about all folders and documents within the project.

Pass the hashref with WKDIR to specify a working directory for the entire project. This method also creates the projects' control files, project.cfg, and control directory.

Return an array (or ref to array) of blessed Archive objects which match the regexp. If no regexp is passed in, then return all of the archives in the project. These objects can then call the methods in the VCS::PVCS::Archive class.

When the Project object goes out of scope (e.g. when the program finishes), the destroyer checks the list of archive directories which have been added to the project, and saves a new config file if appropriate.

NOTE! YOU SHOULD DISABLE THIS FEATURE IF YOU ARE USING CONDITIONAL CONFIGURATION OPTIONS IN THE PROJECT CONFIG FILES AROUND VCSDIR. THIS FEATURE MAY BE DISABLED BY TURNING ON $PVCSDONTSAVE in VCS::PVCS.pm.

Create a new archive in the project. Normally, this method is called by $Folder->newArchive, but if you, for some reason, dont use PVCS folders, then you'll need to call this directly to create a new archive.