Codice Software shows off new SCM tool

Plastic fantastic

What makes Plastic SCM different?

According to Santos: "Plastic is much, much better at handling two big issues: branching (and merging) and security. It also provides new graphical views, but just branching is key to making a difference."

We actually think that might undersell the importance of visualisation for item histories and the life of the Repository, but that's something you'll have to investigate for yourself (you can download a trial version of Plastic SCM here).

However, branching is key to SCM and, in practice, a lot of teams follow a mainline branch most of the time (Santos claims), with well-defined and limited branching, because of the overheads of managing branching – even when using products like Perforce and Subversion, which handle branch/merge reasonably well at the directory level.

Plastic apparently allows ad-lib branching at the developer level without problems and can handle thousands of branches sensibly (Plastic development itself uses Plastic, with over 1,300 branches). This article isn't a product review, so this is an aspect readers might want to investigate for themselves.

A key piece of the Plastic system is, apparently, something called "Selectors". We asked Santos just what these are: "That's a pretty good question. Well, the selector is close to the Clearcase config_spec. It's a way to specify what a developer (or a project manager) wants to work with. You could select parts of different repositories, for instance."

Reading the Plastic website, there's plentiful discussion of other SCM tools (and a healthy obsession with being "Fast SCM" like Perforce).

One tool we weren't very aware of is GIT, the Open Source version control system used for the Linux kernel and enthusiastically, almost fanatically, supported by Mr Torvalds (see here).

Santos doesn't think there's a Windows port of GIT, but he sees it as "bringing branching to OSS developers. Yes, it is distributed, which is cool, but basically it is allowing developers to enjoy private branches, something that Clearcase, Accurev and, by the way, Plastic implement perfectly".

Santos sees "version control" (which is, to us, just a subset of configuration management) as one of the three fundamental pillars of construction. "Requirements are important, builds are important, but, if I had to choose a place to start with... I would go for task [management], version control, and testing. Then I'd build requirements on top and all the rest [he sees build management, for example, as part of SCM]. "But 'on top', not before," he emphasises.

It all adds up to a strong SCM vision. The devil is in the detail, of course, and we can't really say how it compares in practice with more established products yet, but we do think Plastic is well worth looking at. Santos does seem to focus on the real needs of developers rather than just managers (one key to Perforce's success, remember) and thinks in terms of what will work for smaller companies as well as the enterprise.

Version 1.5 of Plastic SCM has just been released (see http://www.plasticscm.com/xsfront.aspx). Work continues on adding full support for distributed development, well beyond (Santos claims) that offered by other SCM tools, and better import/export support for other tools.

Follow progress on this in Codice's blogs here. ®

Sponsored: 10 ways wire data helps conquer IT complexity