Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 23

ClearCase

Software version control system

Having a Software configuration


Management Tool is very important
in the field of software development

I will Talk about,

Source Control in general

List of existing Source Version Control Software

Version Control with ClearCase

Summary

Source Control

Lubas
workspace

main line
check out

a_file.c

check in

0
versions
1
2
3

List of existing Source Version


Control Software
* There are a lot of them !*
http://www.iac.honeywell.com/Pub/Tech/CM/CMTools.html#CMWWWsites

ClearCase - Windows and UNIX


Visual SourceSafe - Windows
CVS - UNIX
CMVision - Unix and Windows
Control CS - Unix and Windows
the list goes on

What is ClearCase?
ClearCase is a comprehensive
software version control and
configuration management system,
designed for development teams
working in a local network.

ClearCase Overview

Provides versioning of all types of files &


directories
Records and reports history
Guarantees accurate reproduction of
every release
Provides traceability & reproducibility
Provides powerful branch-and-merge
tools
Assures integrity of all software elements

Version Control
with ClearCase
Branching
Merging
Labeling

Version Control
with ClearCase
\main
- Versions all file types
- Versions directories
- Files are read-only
until checked out
- Unlimited branching
and merging

Beta_01 1
LABELS

VERSIONS
BRANCH

Rls1.0

Rls2.0

Rls3.0

\Rls2_bugfix

ClearCase Version
Control Features

Easy checkout-edit-checkin model


Intelligent merge utility automatically merges nonconflicting changes
Graphical compare and merge tools
Two modes of work with Dynamic and Snapshot
Views

Workspace Management
- Views
WHAT IS A VIEW?
Workspace for an individual developer or closely
coordinated group
Selects versions of Versioned Object Base (VOB)
directories and files
Allows developers to work without interfering with
others

What is a VOB?

Versioned Object Base

A read-only repository of ClearCase elements


A network-wide, file system resource which
stores version-controlled data
A user accesible repository that resides:
on a Windows NT system, or
on a UNIX system

Version Selection by
Views
A view selects versions
of elements
What is seen is the result of an ordered
set of rules called a configuration specification
(config spec).
config spec
Selected versions appear in a standard
directory tree with recognizable file names.

load \applet\src
element * CHECKEDOUT
element * \main\LATEST

src

foo.c

bar.c

VOB
foo.c src bar.c

V
I
E
W

What is a Configuration
Specification?

Each view has a config spec that defines a set of


rules for selecting versions of file and directory
elements
A default config spec is automatically set
whenever you create a new view

The default config spec selects files or directories


that are:
checked out, or
the latest version on the main branch of the version
tree
The Default Config Spec:
element *
CHECKEDOUT
element *
\main\LATEST

Workspace Management
- Views

Dynamic Views
Snapshot Views

Snapshot Views

Downloads files based on Rules


Allows work while disconnected
from the net
Optimal build performance
for prototype or test builds

load \applet\src
element * CHECKEDOUT
element * \

VOB
foo.c src bar.c

Snapshot View
src

foo.c

bar.c

CLIENT

When To Use Snapshot


Views

You want to work with source files that are under


ClearCase control while disconnected from
network
You prefer to use a view that is updated only at
your request
You want to access a view from a machine that
is not a ClearCase host

Dynamic Views

Transparent access to elements


- a virtual filesystem

Always up-to-date
Minimal copying
Provides build auditing

Snapshot View vs. Dynamic View


Similar
use config specs rules to select element versions
follow the checkout, edit, checkin paradigm
allow reserved or unreserved checkouts

Snapshot View vs. Dynamic View


Differ
as development progress, a snapshot view becomes
out of date and must be explicitly updated
a checkout of an element may use the version
loaded into the view, not necessarily the latest
version in the VOB

to check in such an element, you may have to perform


a merge
if the element version is not the latest version, you are
asked to confirm which version to checkout

20 minutes is NOT enough to


cover everything. If you are
interested in learning more about
ClearCase, here is the web site:

http://www.rational.com/index.jtmpl

If asked what the talk


was about, these are the
things you must
remember,
:)
WE DISCUSSED:

checkout-edit-checkin model
Labeling
Branching
Merging
Views
Config Spec
WE HAD A LOT OF FUN!!!

You might also like