The concept of “shelving”—setting code aside for peer review or testing before checking it back into the main line—has become a reality in Perforce Software Configuration Management System 2009.2, which went live on Dec. 31.

Prior to this release, Perforce users had to create custom scripts or use third-party add-ons to enable shelving, according to John Walker, senior marketing manager at Perforce. With the new feature, collaboration among developers and project managers has been enhanced, Walker said. Part of the reason for these changes, he said, is the decision by Perforce to offer tools that facilitate agile development processes.

“In agile environments, you want to make sure you builds will work. You don’t want to waste time checking in code that will break the build,” Walker said. By shelving code, developers can let their managers review and approve the changes prior to the code being checked back in to the main branch. Shelving also enables developers to pass code to another team member, or to set it aside when a higher-priority task is assigned, Walker explained.

He also said Perforce’s cross-platform GUI client, P4V, also has shelving implemented in it.

Perforce SCM 2009.2, which starts at US$900 per seat, including one year of support and maintenance, now also offers the ability to work with code offline. A developer can take his workspace offline, make changes to the code, and then simply go through a two-step check-in process to merge changes and submit the code to the Perforce Depot database repository.

Another significant new capability is in automatic data replication, which can be used to create a backup by copying metadata from one server to another instance of the Perforce server. Developers and project managers can run reports and queries against the backup on the second server, which lets the primary server run at a higher performance level, Walker said.

The replication capability also can be used to recover data lost in a power outage, he said, ensuring that data is always available when needed.

The update is part of Perforce’s effort to provide agile development teams with tools they need. “When prospects come up to us, we don’t get the standard SCM questions anymore, like about change lists and distributed development. Those things are a given,” Walker said.

“Now, it’s ‘How do you support task management? How do you support code review and [continuous integration]?’ It’s the state of the project that’s always most important to all stakeholders.”