Flexible Configuration Management
Being agile is more than just planning with short iterations; it needs to be put into practice. Software Configuration Management (SCM) can enormously facilitate this crucial setup by supporting proven best practices.
Automated, yet Customisable CM Setup
PureCM uses streams to reflect a code line, regardless of whether they are static (also known as tags, labels or snapshots) or dynamic (aka branches). Different permissions are used to reflect your project planning with version-streams, feature-streams and release-streams. This reduces administrative overhead by automatically applying the relevant preferences, e.g. read-only for release-streams.
End-to-End Audit Trails
Every change made against a version or feature is tracked in PureCM, creating a transparent code line history on the task level. Who made the change? When was it raised? Why? And which files were changed? It's all there, in an end-to-end audit trail you can rely on. What's more, in PureCM you can even see which developer is working on which files in real-time to facilitate collaboration.
Fast and Flexible Release Definition
To preserve a specific project configuration, simply create a release snapshot based on a version (or feature). This will create a read-only snapshot at the point in time it was created, so you can browse or rebuild it as needed. But that's not all - PureCM also gives you visual tools to let you compare any two configurations to check for file and folder differences.
Powerful Build Integration
Shorter release cycles require faster feedback to keep development as release ready as possible. PureCM Professional offers out-of-the-box integration with leading build automation and continuous integration tools such as FinalBuilder or CruiseControl.NET. Even taking hundreds of build snapshots is no problem with stream-based development.
Private Developer Workspaces
As a developer, you should be able to make changes in your own sandbox. You'll want to build and test them before they are integrated. And you'll want to work from any location. Welcome to PureCM's workspaces. Of course, PureCM also supports multiple workspaces per user so you can work on multiple projects at the same time.
Compared to creating a folder to represent a branch, tag or snapshot, streams are more powerful and lightweight at the same time. Streams form a hierarchy, where the configuration is inherited when creating a child stream, allowing streams to be created very efficiently. PureCM can thus support thousands of streams per repository, facilitating frequent delivery with agile practices.
Intelligent and Fully Tracked Merging
With PureCM, merging changes between versions or integrating a completed feature is as simple as it can get. You've got two options: First, you can merge changes directly on the server with the help of a visual preview; ideal for smaller merges. Second, the workspace merge will let you use your workspace for test merging. Of course, all merges are tracked across the complete stream hierarchy for maximum transparency.
Shared Folders Between Projects
Code re-use and third-party components can make you more efficient. By using PureCM's shared components feature, you can link folders to multiple projects. They're simple to set up and upgrade, with minimum administration. You don't need to merge changes made to component folders, as they're automatically applied to all linked locations.