Visual Source Safe Users

Plastic SCM supports and integrates with any working methodology (agile, RUP, cascade) that a company uses for its development. Visual SourceSafe is a Microsoft Corp. tool which provides simple version control for teams with limited process needs, but it does not provide real parallel development or support a task based pattern.

The following table compares Plastic SCM and Visual SourceSafe focusing on qualitative aspects such as system architecture, scalability, and visualization. You can find extended information on the whitepaper: "Plastic SCM vs Visual SourceSafe"

 

Feature SourceSafe Plastic SCM
Task development support

SourceSafe does not even allow two developers to modify two files at the same time, and all the developers must keep their changes on the same line, one after the other.

This implies that if one developer introduces a bug on the main line, the rest of the developers will have to wait until the problem is solved.

Plastic SCM is designed to deploy the branch per task pattern, allowing several developers to check out the same file simultaneously, and it goes further through its easy and efficient branching and merging; these operations are widely automated so they are very easy to use and they eliminate problems that developers fear when talking about branching and merging.

Scalability
VSS does not provide multiserve support and furthermore, Microsoft recommends that VSS databases not exceed 3 to 5 gigabytes, for performance and stability reasons.
Plastic SCM is designed to grow with your company; it provides multiserve support which allows any sized company to balance their load into as many servers as required, and it goes further: through configurable database backends companies can choose from Firebird, SQLServer or MySQL depending on their needs.
Distributed development
VSS doesn’t offer a scalable remote development solution.

Plastic SCM supports geographically distributed development environment through its TCP/IP based structure, allowing companies to choose between the traditional distributed method, multisite or off-line. 

The system is used through a single command that allows branches to be replicated in a fast and simple manner.

Atomic check ins
Using SourceSafe it is no possible to group changes (check-ins) following a certain criteria, so it is very difficult to identify if a change implemented by a developer is included on a release.

Plastic SCM groups every check-in done on a "group of changes", which is given a specific number. This way it is very easy to identify which changes made up a certain feature. Going even further, every change related to a specific task can be put together on a branch, as creating branches and merging them with others is a very automated and efficient process with Plastic, some steps ahead from SourceSafe branching.

Branching and merging

Due to its design, branching with SourceSafe in not very efficient and it creates a copy of every item in the project.

Apart from this, merging branches very often leads to errors. This is why branches cannot be widely used, they are only created when it is inevitable and it will always require a higher amount of work.  

Plastic SCM has created a solid core for managing branches, especially for merging; and not just files but also directories.

These operations have been completely redesign from scratch and are totally different from SourceSafe operations. This is why Plastic recommends using branching in order to implement parallel development methods such as "branch per task" or "branch per developer".

Workspaces

Using Source Safe it is difficult to keep more than one copy of a project on your machine. This slows a developer job when working on simultaneous tasks (for instance, making a small change while working on a bigger task).

Plastic SCM allows the developer to keep as many local copies (workspaces) as needed, on one or different machines. The usual way to work would be having more than one workspace with different tasks opened on each of them.
Refactor support

SourceSafe does not keep versions of the project structure. When a file is renamed, it keeps the name. Even when trying to obtain a previous version, on which it had a different name, the file will show the last given name. Working on Visual Studio, renamed items are not always properly taken into SourceSafe.

Plastic SCM keeps a complete history of every change done on the project's structure. Folders are first level items, as well as files, so when retrieving a previous version, every file will be kept with the name it had in that version.

Thanks to Plastic advanced merge system; these changes are usually passed on between branches when they are merged.

Version server reliability

SourceSafe stores every version on a special shared folder, and there is actually not a SourceSafe server; the clients access this shared folder directly.

If a single client is not working properly the whole database can be corrupted. Additionally, Microsoft advises that the database should not be bigger than 5GB.

Plastic SCM stores its information on a SQL database, and the clients always access data through Plastic server, which ensures that every operation goes through the server.

Furthermore, the data integrity is guaranteed by a SQL database engine, totally stable with diverse data terabytes volumes.

Visualization SourceSafe does not provide any visualization tools apart from the GUI. Plastic SCM offers a wide variety of visualization tools to increase performance and provide a clearer view of the project at any stage: 3D version tree, branch explorer, statistic tool, code review tool, three way merge tool, etc.
Connectivity

SourceSafe relies on the service of sharing Windows folders and files, so its operation through the internet is very limited.

Plastic SCM operates through a single port and compresses file data in order to increase the transmission efficiency, so it works perfectly on remote via internet or VPN.

Multiplatform
SourceSafe is limited to Microsoft platforms.
Plastic SCM is multiplatform both on the client and the server. The platforms supported are Windows, Unix, MacOS and Solaris

 

 

 
 
 
 


© 2009 Codice Software. All rights reserved. Contact