ClearCase -- An Overview
composed by
Francis Chan
Introduction
ClearCase, by Atria
Software, is a software configuration management (SCM) product for
both the UNIX and Windows NT development environments. It provides,
in a transparent, non-intrusive way, a comprehensive configuration
management which includes version control, workspace management, build
management and process control which allows users to to use the same
tools and remain in existing environments.
ClearCase is targeted at the
needs of software teams working on multiple versions of software and
platforms across client/server networks. It enhances the development
and maintenance of multiple concurrent products, thus improving the
accuracy of releases, rebuilding and patching of previously shipped
products.
Version Control
A version control system must be capable of managing the evolution of
components along multiple and simultaneous paths. The system should
also minimize the expense and complexity of creating and developing
new versions to encourage experimentation.
ClearCase keeps track of all the changes to files, directories in
secure, distributed repositories and
supports parallel development by enabling easy branching and merging.
It provides version control of not only source code, but also
binaries, executables, documentation, test suites, libraries, etc..
Its capabilities exceed that of traditional source control and
include:
- Audit Trail
- Automatic caching for recent deltas
- Maintains annotated history of source changes
- Versioning and Naming
- Versions all file system objects
- Versions directories, sub-directories, and file-system links
- Graphical display of version evolution
- Merging
- Automatic merging of up to 32 contributors
- Graphical comparing and merging of text files and directories in
editable, synchronozed windows
- Additive and subtractive merging
- Branching
- Unlimited branching
- Version and branch labels
- General
- Checkin/checkout development model
- User-definable object types
- Interleaved delta compression for ASCII text files
- RCS, SCCS, DSEE, PVCS, and Unix file conversion
Version tree view
Versions of directories record how the organization of
the source base evolves: renaming of source files, creation of new
source file, and so on.
Workspace Management
Rule-based environment management
ClearCase provides each developer with multiple consistent, flexible,
and reproducible workspaces. It uses Views (similar to the
views concept in databases) to present the appropriate versions of each file
and directory for the specific task at hand. Views are defined by
configuration specs consisting of a few general rules.
Rules may may be as simple as "the versions that were used in the
last release" or can be more complex when particular sets of bugfixes
and features need to be combined.
Views are dynamic -- they are continually updated by re-evaluating the
rules that define it. Newly created versions can thus be incorporated
into a view automatically and instantly. Views allow team members to
strike a balance between shared work and isolation from destabilizing
changes.
File browser view
Transparency
Each versioned object appears to be an ordinary file or directory. No
special command is required to access individual versions. A view
automatically accesses individual versions by working with
the Multiversion File System (MFS), ClearCase's NFS-compatible virtual
file system extension, of which object-oriented repositories are
mounted on. This transparency feature makes ClearCase compatible with
the Unix open-systems environment. Developers can continue to use their
existing tools -- shells, editors, compilers, debuggers, and so
on, without modifications. Even Unix commands operate on the versions
of files appropriate to a process' designated configuration through
standard Unix I/O.
Build Management
Make-compatible software building
Since software build procedures are usually described in standard Unix
makefiles, ClearCase allows developers to use any build tools,
including make, PVCS, NMake, etc. to build software from
ClearCase-maintained sources.
Automatic detection of source dependencies
clearmake, ClearCase's make-compatible system builder, automatically
detects the source dependencies of build targets, so developers need not
explicitly declare such dependencies in their makefiles.
Configuration auditing
When clearmake runs compilers and other tools, it automatically
produces configuration records, which provide complete
"bill-of-materials" documentation of software builds. Each
configuration record includes a listing of all source file versions
that were used, versions of build tools, and all build options that
were specified. The capturing and recording of component details,
auditing at the file-system level, in a software
build ensures complete rebuildability and maintainability.
There are also special commands which compare configuration records,
showing the differences between two builds of the same program.
Guaranteed rebuildability
A view's configuration spec can be defined in terms of the
configuration records produced by previous builds. The exact source
base for an individual program or an entire release can be recreated
instantly in a new view, thus guaranteeing rebuildability of software
systems.
Binary sharing
Whenever possible, clearmake shares the derived objects produced by
builds among users across the network and project boundaries. This
enables software developers to share binaries automatically and
correctly in order to minimize re-builds and unnecessary copies,
thereby improving build accuracy and speed, as well as reducing disk
storage needs.
Parallel development utilities
ClearCase includes a graphical multi-file text-comparison utility and
a similar text-merge utility.
ClearCase diff tool
Parallel, distributed building
In a build that involves execution of multiple makefile build scripts,
those scripts can be executed in parallel, either on a single host or on a
group of hosts in the local area network. ClearCase also performs
network and compute-resource load-balancing.
Process Control
In addition to providing tools that control sources and derived
objects, ClearCase provides tools for monitoring and controlling the
development process itself. It supplies a flexible,
powerful "toolset" which administrators can use to automate
the enforcement of an organization's existing policies.
Attributes
An attribute is a name=value pair which can be attached to most
kinds of objects. The types of these values include
integers, strings, dates, etc.. Query commands can thus be
constructed to allow users to find all versions annotated with a
specific attribute.
Project-wide queries can also be made on meta-data which relieves the
restriction of scope of the single configuration that a user is
working in.
Hyperlinks
A hyperlink is a logical "arrow" that connects two objects. For
example, a hyperlink can connect a design document to a source code
module. Hyperlinks can relate whole elements, specific versions (as
needed for requirements tracing), or sub-sections within objects.
Triggers
A pre-event trigger monitors the usage of a specified ClearCase
operation or class of operations. For example, a pre-event trigger
can require that some check be applied before the checkin command is
allowed to run. It can allow the command to proceed, or it can cancel
the command.
A post-event trigger runs after a specified operation
completes. Typically, such a trigger notifies one or more users that a
command was executed, or attaches an attribute to an object. For
example, a post-event trigger might send mail to the QA department
when a modified file is checked in along with information or comments
that the user supplied during checkin.
Distributed Data Storage
Source data is stored in mountable file systems, called Versioned
Object Bases (VOBs). VOBs can be physically located throughout the
local area network, and mounted on various workstations and server
machines. Furthermore, the data storage for an individual VOB can be
distributed across the network, even to hosts that are not running
ClearCase software.
ClearCase VOB view
Hardware Platforms
- Digital Equipment Corp. Alpha AXP
- Hewlett-Packard 9000 Series 700 and 800
- IBM RISC System/6000 family of systems
- Intel 486 and Pentium personal computers
- Silicon Graphics IRIS family of systems
- Sun Microsystems SPARCstations and SPARCsystems
Operating Systems
- DEC OSF/1 2.0, 2.0-1
- Digital UNIX 3.0, 3.2
- HP-UX 8.0, 8.7, 9.0, 9.0-05, 10.0
- IBM AIX 3.2.5, 4.1.1-2
- Silicon Graphics IRIX 4.0.1-5, 5.1-2, 5.2-3
- SunOS 4.1.1-3, 4.1.1-4, 4.1.xJ
- Solaris 2.1-3 and 2.2-4
- Microsoft Windows NT 3.5, 3.51
Other Products
- ClearCase
MultiSite
A layered product option for ClearCase that supports parallel
software development and software reuse across geographically
distributed project teams.
- ClearTrack
A customizable change request management (CRM) system that tracks
defects and enhancement requests throughout the entire software life
cycle.
Back to Index
Modified: March 27, 1996
Feedback: (
fchan@ic.eecs.berkeley.edu)