Shelving is a new feature in Perforce SCM that lets coders cache work-in-progress files on the Perforce server without submitting them as a versioned change. This makes it easier to put aside one task in favor of a higher priority task. Shelving also allows users to make changes and test them in a distributed build environment. Developers can share work-in-progress with other team members or workstations. Other users are able to access the shelved files for better team collaboration. With shelving, developers are able to pass pending changes to managers as part of the Code Review or Approval workflows. Shelving support is available in the 2009.2 Perforce Server, visual client, and the command-line client.
Perforce now has an automated mechanism for copying metadata to different servers. Instead of consuming resources on the primary server, users can run reports and database queries on a secondary server, improving performance. The metadata replication feature also protects users' data with continuous data availability and access to Perforce. This can be especially useful during downtime or outages. 2009.2 Perforce Server also features Unified diff output that handles deleted files and files that end without a new line. The Unified diff formatting closely matches the standard patch format.
Developers no longer need to be connected via the internet when using the new Perforce Visual Client. Users can take their workspace offline, preserve all the changes, and submit files while disconnected from the Perforce Server. In addition, the visual client contains a new dashboard tab that displays the status of a workspace, listing conflicts, files in pending changelists, and open jobs. Users can also assign hot keys in the visual client.
Plugins and APIs
The Perforce Defect Tracking Gateway (P4DTG) plugin got some upgrades in 2009.2. P4DTG now supports Bugzilla 3.4 and can now synchronize jobs between Perforce and a MySQL database. 2009.2 also features a Perforce derived API for PHP. This lets developers write PHP scripts that issue Perforce commands. The API is compatible with PHP 5.2.x and PHP 5.3.x.
Perforce 2009.2 pricing is all-inclusive (no separately licensed add-ons) and starts at $900 a seat. A free trial of Perforce is available with free technical support during the evaluation period. A video of Perforce in action is also available.