OPENSTEP 4.2  Copyright1997 by Apple Computer, Inc.  All Rights Reserved.

OPENSTEP 4.2 Release Notes: 
Project Builder Software Configuration Management Extensions

Overview

Project Builder can now be extended to support interaction with third-party Software Configuration Management (SCM) systems.  This is done by loading ªSCM Adaptor Bundlesº into Project Builder; these bundles plug into Project Builder's public SCM programmatic interface. OPENSTEP 4.2 on Windows includes a bundle that allows you to interact with INTERSOLV's PVCS Version Manager product. On both Mach and Windows, an unsupported bundle supports the GNU Concurrent Version System (CVS).  Both integrations make use of the same GUI extensions to Project Builder, but invoke different sets of SCM operations that are specific to the SCM system under which the current project lives.

INTERSOLV Polytron Version Control System (PVCS)

The PVCS_Support bundle requires that PVCS Version Manager be installed on each machine that uses it.  This integration has been tested on the current version on PVCS, which is 5.2.20.  It will also work with Intersolv's upcoming release of PVCS Version Manager 5.3 (it's also possible that later versions of PVCS will work using this integration bundle).  PVCS can be obtained directly from Intersolv:

	1700 NW 167th Place
	Beaverton, OR  97006

	1-800-547-4000 (General Phone)
	1-800-443-1601 (Tech Support Phone)
	1-503-645-6260 (Tech Support Fax)

	pvcs_answerline@intersolv.com
	http://www.intersolv.com 

Other SCM Products

The CVS_Support bundle requires the public-domain CVS package that can be found at many popular ftp sites on the Internet.  While it has proven useful in some organizations, it is not a supported configuration management product and it does have its limitations.

Support is planned for other popular SCM products that are accessible from Mach or Windows.  Please contact NeXT Product Marketing regarding future plans and schedules of SCM integrations with Project Builder. 

Using an SCM Adaptor Bundle

Before using an SCM Adaptor Bundle from Project Builder, you must configure Project Builder to load the bundle at startup and you must set up the defaults database to specify your integration preferences.

Configuring Project Builder

To configure Project Builder to load an SCM bundle at startup, launch Project Builder and select Preferences from the main menu.  In the Bundles pane of the Preferences panel, click Add; this brings up a file browser that allows you to select the location of the bundle.  Select the PVCS or CVS bundle, as appropriate, from $(NEXT_ROOT)/NextDeveloper/PBBundles. Then, re-launch Project BuilderÐthis causes the bundle to load and take effect.

Setup Defaults

You'll need to set some defaults in order to configure Project Builder to work with SCM.  You may either use the SCM Preferences panel to set these defaults, or you may open a terminal and enter the defaults manually.  If using a shell (such as the Bourne shell; defaults cannot be set from an MS-DOS prompt), enter the following commands to set the SCM defaults (replace any information in italics with your local information):

...If you're using PVCS:

defaults write ProjectBuilder PVCSDefaults '{path="PVCS_Executable_Path"; userName=unknown;}'

The following default should either be YES or NO, depending on whether or not you want to lock files automatically when you start to edit them in Project Builder.

defaults write ProjectBuilder lockOnEdit YES_or_NO

...If you're using CVS:

defaults write ProjectBuilder CVSDefaults '{path="CVS_Executable_Path";}'

Supported Operations

The SCM bundles support the following operations on files under SCM control:

·	Create a new Work Directory from an existing Repository
·	Add/Remove Files
·	Lock/Unlock Files (PVCS only)
·	Update Files
·	Merge Files
·	Tag Files
·	Display History or Show Changes for Files

Some operations, such as creating a new repository or importing a project into it for the first time, must be performed using tools provided by the underlying SCM system.

PVCS User's Guide

Once you've configured Project Builder and the defaults database for use, you're ready to take your SCM system for a test drive.  You may find the following guide helpful in getting started with Project Builder and PVCS:

¬

CVS Note

With the CVS Adaptor, you must have the CVSROOT environment variable set for Project Builder to inherit.  The repository path you specify when creating a new CVS work area (which is currently necessary to use the integration) must be relative to the CVSROOT pathÐit cannot be absolute.  

Known Bugs and Limitations in the SCM Integrations

Reference:	1463
  
Problem:	File and Project RENAME not supported
  
Description:	Renaming files or projects under SCM control is not supported. Attempting to do so will result in a confused SCM state.

Reference:	1647
  
Problem:	Checking in files sometimes makes them write protected
  
Description:	Occasionally the user may be prompted to overwrite a read-only file or revert a file to saved.  These alerts occur mainly because the revision control system is writing to the files without Project Builder's knowledge.  In general it is acceptable to revert or overwrite the files and continue working.  This problem will be fixed in the next release.

Bugs Specific to PVCS Integration

Currently, there are no known bugs specific to the integration with PVCS.

Bugs Specific to CVS Integration

Reference:	1482
  
Problem:	Updating a file that has been added (but not committed) changes status to up-to-date
  
Description:	If a file is added to a project and then updated before it is checked in, the file status is incorrectly changed to "Up-To-Date" instead of remaining "Added".
  
Workaround: Check-in added files before you perform any other SCM operations on them.

Reference:	1606
  
Problem:	If there is a lock on the repository SCM will hang forever
  
Description:	If there is a lock on the CVS repository, the SCM adaptor (and hence Project Builder) will hang indefinitely.
  
Workaround: Manually remove the lock from the CVS repository and restart Project Builder if necessary.