|
Plastic SCM is a commercial SCM system developed by Codice Software. Plastic tries to focus on parallel development, branching and merging and security.
FeaturesBranching supportTo enable parallel development Plastic focuses on branching. The main difference between the Plastic branching model and the ones implemented by systems like CVS, 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. Subversion implements branching by appearing to make copies of the entire branch, but deferring the actual copying until the file is changed (a la copy-on-write). 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 SCM Patterns[1] and at CM Crossroads[2]. Plastic branching model can be compared to AccuRev and Clearcase (both UCM and base). Due to its underlying branching model Plastic can handle thousands of branches in a single repository with no hassle. Smart branchesPlastic 2.5 (July 2008) introduces smart branches. Smart branches are like regular branches but the user can define their branch inheritance. It is important to note that a branch in Plastic is just a new object in the system. It is empty upon creation, but it virtually contains the files and directories of it ancestor (or ancestors if a multi-level hierarchy is created). A smart branch can be created from a specific label or tag, a changeset or a specific branch.
Branch hierarchies can be tuned using the graphical user interface. Multiple levels of inheritance can be set at any time. Branch explorerThe branch explorer is a user interface which draws all the branches on a repository. It also draws the merge relationships between branches and the inheritance links. The branch explorer was initially introduced on Plastic 1.5 and has been improved since then. In 2.0 it introduced interactive support so common branch operations like creating a new branch, merging and running common queries can be performed from the explorer itself.
Changes on branches or changesets can be inspected from the explorer 3D Version treesPlastic 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. More recently new links have been introduced to support:
Directory versioningPlastic supports directory versioning. Full renaming and moving are also supported. Merge trackingEach 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. Diff and merge toolsPlastic includes the following tools:
ACL based securityEach 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. Customizable database backendPlastic stores all its data and metadata inside standard SQL databases. Currently (version 2.0) it supports:
Plastic has three different types of databases:
The databases can be directly queried with external tools or using the cm query command. By default Plastic deploys a Firebird database on both Windows and Linux. It is good enough for small and medium sized teams. MySql and SQL Server perform better under heavy load, giving plastic better scalability. Configurable workspacesA 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. ReleasesThere are four official Plastic SCM releases so far:
External references
References
|
This article is from Wikipedia. All text is available under the terms of the GNU Free Documentation License.
Mercedes Car
This site monitored by SitePinger.net