StarTeam
From Wikipedia, the free encyclopedia
StarTeam is a revision control and SCM software system, originally produced by Starbase Corporation, acquired by Borland in January 2003[1]. The system is backed by a relational database that retains all changes made to a project during its evolution. IBM DB2, Microsoft SQL Server, and Oracle database are supported database servers.
StarTeam supports branching and 3-way merging, difference analysis, advanced user access and security management, checkpoints, end user and administrator auditing, and customization features. The server is designed for distributed use and supports strong encryption for remote connections. StarTeam allows "live" backups while the server is in active use and includes an optional publish/subscribe event system called StarTeam MPX to enhance scalability. However, it does not provide atomic commits; versioning is performed on individual files.
In addition to file versioning, StarTeam also stores requirements, project tasks, change requests, and discussions. All of these can be interlinked to enhance traceability within a project.
StarTeam includes a number of clients, including native Windows, a web client, a cross-platform Java client, a command line interface, Windows Explorer integration, and integrations for popular Integrated development environments such as Borland Delphi. StarTeam includes several APIs for platforms including COM, Java, and the Microsoft .NET Framework. It also provides a compliant SCC API for integration with IDEs that offer integrated revision control features.
[edit] Criticisms
- The StarTeam server lacks support for atomic commits and versioning is performed on individual files only.
- The built-in StarTeam 3-way merge tool is difficult to use. StarTeam supports 3rd-party merging utilities and tools like WinMerge are highly recommended.
- StarTeam has a very confusing means of sharing files and folders from development branches into the trunk, which makes its use difficult for development teams that rely on feature branches for development. Upon sharing a file or folder from a branch into the trunk, that branch will subsequently receive an additional copy of that file and/or folder. The merge administrator must then delete the correct copy of the file and/or folder from the development branch. If they delete the wrong one, future modifications within that branch to that file or folder will be applied to the trunk as well resulting in an extremely confusing and dangerous situation.
- The StarTeam cross-platform Java client (as of 2005 R2) lacks the ability to merge files between branches. This is a feature found exclusively in the Windows client.
- The StarTeam Windows client (as of 2005 R2) lacks a simple way to make all checkouts be made using UNIX line-ending formats.