Clearcase requires each user to create and manage a new
branch every time the developer wishes to work on code. This requires
writing a new Clearcase configspec to use the branch. Although scripts
are available to simplify the task, Clearcase is still a complex system
requiring constant expert support. If the developer is working on two
tasks, he will be switching config specs when switching tasks.
Subversion does not require this as the developer is always working
with a local copy which can not be disturbed by the check-in of another
developer. Both systems might require a merge if another developer has
altered the same code. Thus for small projects without expert dedicated
Clearcase support, Subversion is the clear winner. Subversion is simple
to administer and simple to use.
Rapid development may lead to developers checking in code
which breaks the build. Subversion always assigns a new version number
to each check-in. Thus previous states can be recreated, checked out or
viewed. Clearcase requires a "Clearcase Label" to be manually created
to identify the current state. Any previous state of the code is lost
completely in Clearcase as the system does not identify which versions
of each file go together to define a build at any point in time, unless
a "Clearcase Label" is applied.
Cost. Subversion is free vs Clearcase license fees. It
also seems to take a larger staff and more expertise to run a Clearcase
installation.
Subversion is much easier to use in an Enterprise (nation
wide or global) environment as it uses web technologies. Cleacase uses
a feature called "Multi-site" for this purpose. Since Clearcase dynamic
views are a local mounted file system (MVFS) mirroring a shared
Clearcase server file system, it does not lend itself to networks which
can have unexpected latencies and momentary delays such as the
internet. Clearcase multi-site overcomes this and is used to tie
together remote locations. This requires a highly skilled Clearcase
administrator. No special considerations are necessary for Subversion
in this environment.
Both Subversion and Clearcase have a web interface for
viewing the source code on the server. Subversion's is native as part
of the installation with Apache. It is greatly improved when used with
Insurrection (http://insurrection.tigris.org) Clearcase on the other
hand requires each developer to generate a static view on the Clearcase
web server from which one can view the code via the web. The Clearcase
web interface is poor and I can not recommend its use.
Integration with bug tracking and regression testing.
Subversion integrates with Trac and Cabie, a multi-platform automated build and test tool.
Cabie is definitely a time saver as it compiles and tests the build on all platforms.
It is perfect for rapid development as it tests the build upon each check-in.
A plus for rapid development.
Clearcase integrates with Rational Clearquest and Buildforge.