Plastic SCM
From Wikipedia, the free encyclopedia
Plastic SCM is a commercial SCM system developed by Codice Software. Plastic tries to focus on parallel development, branching and merging and security.
Contents |
[edit] Features
[edit] Branching support
To enable parallel development Plastic focuses on branching. The main difference between the Plastic branching model and the ones implemented by systems like CVS, Subversion, Perforce or Team Foundation Server is that instead of copying everything (or just the metadata) to the new branch, branches are created as empty objects. Only when an item is modified, the newly created revision is placed on the branch.
So a branch only contains files or directories modified from its parent branch.
This approach makes easier creating lots of branches, allowing the implementation of branching patterns like "branch per task", detail in the book Software Configuration Management Patterns, by Steve Berczuk and Brad Appleton and also at the web.
Plastic branching model can be compared to Accurev or Clearcase.
[edit] 3D Version trees
Plastic provides ways to visualize version trees for both files and directories. The 3D version tree shows the evolution of a given file or directory, including merge links (the green arrows). Labels and extended information are also included.
[edit] Directory versioning
Plastic supports directory versioning. Full renaming and moving are also supported.
[edit] Merge tracking
Each time a merge is performed, a link is created between the source and destination revisions. The link is not only important to visualize the process (to be displayed on a version tree), but used internally by Plastic in the following merge operations.
When you merge a branch, merge links are created, so if you try the merge again, Plastic notices there are no merges left.
[edit] Diff and merge tools
Plastic includes the following tools:
- Code differences: code file differences with syntax highlight.
- Image differences. supporting two modes, side by side or blended.
- Code merge: 3-way merge tool.
- Binary merge: to choose between revisions of a binary file.
- Directory dff and merge: As directories are fully versioned in PlasticSCM, there are also specific graphic interfaces for them.
[edit] ACL based security
Each object inside a Plastic repository has an associated ACL. About 25 different permissions are available to allow or deny operations like check out, check in, merge, applying labels, creating repositories or workspaces and so on.
[edit] Customizable database backend
Plastic uses SQL databases as repositories. The server currently supports Firebird, SQL Server and Postgres.
[edit] Configurable workspaces
A workspace is a directory where repository contents are mapped. To exactly select what has to be downloaded to the user's disk, each workspace has an associated selector. A selector is quite similar to a clearcase config_spec, providing lots of customization capabilities.